Buscar

3 - Programação Orientada a Objetos - Conceitos Básicos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

01/04/2022
1
Programação Orientada a 
Objetos
Professor: Anderson Elias
Conceitos Básicos
Contato:
anderson.elias@estacio.br
1
2
01/04/2022
2
"Quando penso que cheguei ao meu limite, 
descubro que tenho forças para ir além." 
Ayrton Senna
Contato:
anderson.elias@estacio.br
Roteiro – Conceitos Básicos
• Exercícios de Revisão (PI)
• POO Conceitos 
• Abstração e Princípios
• Objetos e Classes
• Interfaces e Classes Internas
• Construtores;
• Modificadores de Acesso;
• Serialização
• Sobrescrita / Sobercarga (Overriding / 
Overloading)
• Tratamento de Exceções
•Herança;
• Classes, Superclasses e Subclasses;
• Polimorfismo / Encapsulamento;
• Vinculação dinâmica;
• Evitando herança: Classes e métodos Final
• Coerção;
• Interfaces e Classes abstratas;
• Acesso protegido;
• Coleções
• List
• Array List
• Set
• Map
3
4
01/04/2022
3
Exercício - Objetos e Classes
USE MÉTODOS PARA REALIZAR AS OPERAÇÕES.
1) Escrever um programa java que receba dois números e exiba o resultado da sua soma.
2) Escrever um programa que receba dois números e ao final mostre a soma, subtração, 
multiplicação e a divisão dos números lidos.
3) Escrever um programa para determinar o consumo médio de um automóvel sendo fornecida a 
distância total percorrida pelo automóvel e o total de combustível gasto. 
4) escrever um programa que leia o nome de um vendedor, o seu salário fixo e o total de vendas 
efetuadas por ele no mês (em dinheiro). Sabendo que este vendedor ganha 15% de comissão 
sobre suas vendas se o salário for maior ou igual a R$ 1.000,00 caso contrário a comissão será de 
20%. Como saída, informar o seu nome, o salário fixo e salário no final do mês. 
Exercício - Objetos e Classes
5) Escrever um programa que leia o nome de um aluno e as notas das três provas que ele obteve 
no semestre. No final informar o nome do aluno e a sua média (aritmética). 
6) Escrever uma programa em que leia dois valores para as variáveis A e B, e efetuar as trocas dos 
valores de forma que a variável A passe a possuir o valor da variável B e a variável B passe a possuir 
o valor da variável A. Apresentar os valores trocados. Lembrando que temos que ter 3 variáveis 
para que uma haja como variável de armazenamento, ou seja, para evitar que o valor original de a 
se perca é necessário associar a uma outra variável (denominada usualmente de variável auxiliar) 
tal valor, estabelecer uma associação de A com o valor em B e, por último, associar B ao valor 
"salvo" na variável auxiliar. 
7) Ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit. A 
fórmula de conversão é: F=(9*C+160) / 5, sendo F a temperatura em Fahrenheit e C a temperatura 
em Celsius. 
5
6
01/04/2022
4
Exercício - Objetos e Classes
8) Elaborar um programa que efetue a apresentação do valor da conversão em 
real (R$) de um valor lido em dólar (US$). O algoritmo deverá solicitar o valor da 
cotação do dólar e também a quantidade de dólares disponíveis com o usuário. 
9) Faça um programa que receba um valor que foi depositado e exiba o valor 
com rendimento após um mês. Considere fixo o juro da poupança em 0.70% a. 
m. 
10) A Loja Mamão com Açúcar está vendendo seus produtos em 5 (cinco) 
prestações sem juros. Faça um programa que receba um valor de uma compra e 
mostre o valor das prestações. 
Exercício - Objetos e Classes
11) Faça um programa que receba o preço de custo de um produto e mostre o valor de venda. 
Sabe-se que o preço de custo receberá um acréscimo de acordo com um percentual 
informado pelo usuário. 
12) Escreva um programa para ler o raio de um circulo, calcular e escrever a sua área. (pR²) 
Calculo: área= PI*(raio²) 
13) Escreva um programa que entre com um número e o imprima caso seja maior do que 20.
14) Entrar com dois números e imprimir o menor número (suponha números diferentes). 
15) Entrar com dois números e imprimi-los em ordem decrescente (suponha números 
diferentes). 
7
8
01/04/2022
5
• Criar uma solução para alteração da folha de pagamento de uma 
empresa.
• Criar uma classe Empregados com os dados “Nome, função e Salário” 
com métodos de leitura para todos os dados e apenas o de atualização 
para o de salário.
• Criar uma classe EmpregadosTeste que informará os nomes dos cinco 
empregados, suas funções e seus salários, bem como o percentual a ser 
acrescido no salário atual.
• Imprimir todos os dados dos empregados com os salários atualizados.
Exercício - Objetos e Classes
•A Programação Orientada a Objetos é um novo 
paradigma para desenvolver softwares;
Programação Orientada a Objetos (POO)
Objeto A Objeto B Objeto C
Objeto D Objeto E
9
10
01/04/2022
6
• É uma forma especial de programar, mais próximo de 
como expressaríamos as coisas na vida real do que outros 
tipos de programação.
“Uma nova maneira de pensar os problemas utilizando conceitos 
do Mundo Real. O componente fundamental é o objeto que 
combina estrutura e comportamento em uma única entidade.” 
Raumbaugh
(POO) Conceitos
“Sistema orientado a objetos é uma coleção de objetos que 
interagem entre si.” Bertrand Meyer
• Este paradigma visualiza e representa o mundo real 
através de um conjunto de objetos. 
• Estes objetos interagem entre si para que determinadas 
operações sejam realizadas;
(POO) Conceitos
11
12
01/04/2022
7
• Diferenças 
entre os 
paradigmas:
(POO) Diferenças
Abstraindo
Objetos...
(POO) Abstração
13
14
01/04/2022
8
(POO) O que é Abstração?
Abstração é uma visualização ou representação 
de uma entidade que inclui somente atributos de 
importância em um contexto particular.
Robert Sebesta
Abstração
(POO)
15
16
01/04/2022
9
A programação orientada a 
objetos está bem 
sedimentada sobre os 
quatro pilares derivados 
do princípio da abstração:
• Encapsulamento;
• Herança;
• Composição;
• Polimorfismo.
(POO) Princípios da Abstração
O princípio da abstração é a capacidade de abstrair a 
complexidade de um sistema e se concentrar em apenas 
partes dele.
Exemplo: 
Um médico torna-se especialista em cirurgia do coração, 
portanto ele abstrai sem considerar as influencias dos outros 
órgãos e foca apenas sua atenção no coração.
(POO) Princípios da Abstração
17
18
01/04/2022
10
Abstração seria o ato de separar um ou mais elementos de 
uma totalidade complexa;
Ignorar aspectos não relevantes;
Outro exemplos do uso de abstração no nosso dia a dia:
•Dirigir um carro.
•Usar um som ou TV.
(POO) Princípios da Abstração
Observando ao nosso redor, veremos várias entidades ou 
abstrações que podem ser representadas como objetos em 
nosso programa.
Estes objetos podem ter
•Características: Pelas quais os identificamos.
• Funcionalidades: Para as quais os utilizamos.
(POO) Princípios da Abstração
19
20
01/04/2022
11
Estas Características dos objetos são também chamadas de 
Atributos.
Exemplo:
•Objeto Carro: Possui ano, marca, modelo, cor, peso, preço.
•Objeto Aluno: Matrícula, nome, endereço, idade, telefone.
(POO) Princípios da Abstração
Os objetos podem ter Funcionamentos/Comportamentos
associados a eles.
Exemplo:
•Objeto Carro: Pode ligar, desligar, acelerar, frear.
•Objeto Aluno: Andar, correr, dirigir carro, realizar matrícula.
(POO) Princípios da Abstração
21
22
01/04/2022
12
Podemos dizer então que em POO os objetos possuem 
características e comportamentos. 
Estas características chamamos de atributos;
Os comportamentos conhecemos como métodos.
(POO) Princípios da Abstração
Exemplo de objetos com suas características (atributos) e 
comportamentos (métodos):
(POO) Princípios da Abstração
Característica:(atributos):
ano, marca, modelo, cor, peso, preço
Comportamento (métodos)
ligar, desligar, acelerar, frear
Característica:(atributos):
Matrícula, nome, endereço, idade, telefone
Comportamento (métodos)
Andar, correr, dirigir carro, realizar matrícula
23
24
01/04/2022
13
Como seria estasabstrações na programação?
(POO) Abstração na Programação
Abstração de Processos
Tem como finalidade dividir um programa em subprogramas
menores para tornar mais fáceis de escrever e compreender. 
(“dividir para conquistar”)
Para usar um subprograma escrito por terceiros, abstraímos a sua 
implementação e nos concentramos na sua API.
(POO) Abstração de Processos
25
26
01/04/2022
14
Abstração de Processos - Exemplo
(POO) Abstração de Processos
public class Funcao {
public static void main(String[]args){
System.out.println(soma(2, 3));
}
public static int soma(int x, int y){
int a=x, b=y, c;
c = a + b;
return c;
}
}
Abstração
Quer realizar algo
Abstração de Dados
Representação de entidades reais do domínio do problema numa 
linguagem de programação.
• Identificando as propriedades destas entidades que interessam ao 
sistema bem como suas operações
(POO) Abstração de Dados
27
28
01/04/2022
15
Abstração de Dados- Exemplo
package reg;
class Aluno {
public String nome;
public int idade;
public double nota;
public double atualizarNota(){
return this.nota + 0.5;
}
} 
(POO) Abstração de Dados
Comportamento
(Métodos)
Propriedades
(Atributos)
•Diferenças entre
os paradigmas:
(POO) Comparativo com Procedural
29
30
01/04/2022
16
Base da Programação Estruturada:
Sequência: uma tarefa é executada após a outra, linearmente;
Decisão: a partir de um teste lógico, determinado trecho de código é 
executado, ou não;
Repetição: a partir de um teste lógico, determinado trecho de código é 
repetido por um número finito de vezes.
(POO) Comparativo com Procedural
Vantagens da Programação Estruturada:
Fácil de entender: Ainda muito usada em cursos introdutórios de 
programação;
Execução mais rápida: por não haver diversas camadas.
Desvantagens:
Baixa reutilização de código;
Códigos confusos: Dados misturados com comportamento;
Difícil manutenção.
(POO) Comparativo com Procedural
31
32
01/04/2022
17
Base da Programação Orientada a Objetos:
Classes e Objetos
Métodos e Atributos
Permite modelar o mundo real em software:
Cada elemento é representado em forma de objeto
Um objeto contém características e ações, assim como vemos na realidade
(POO) Comparativo com Procedural
(POO) Comparativo com Procedural
Vantagens da Programação Orientada a Objetos:
Reuso de bibliotecas prontas (APIs) e de projetos de terceiros;
Maior produtividade: multidesenvolvimento;
Baixo custo;
Melhor organização do código (modularização) Fácil leitura e manutenção;
Permite construir sistemas mais complexos;
Desenvolvimento em nível mais alto de abstração;
Maior qualidade no produto final.
33
34
01/04/2022
18
(POO) Comparativo com Procedural
Desvantagens da Programação Orientada a Objetos:
Execução mais lenta de aplicações, mas é pouco percebida;
Complexidade no aprendizado;
Maior esforço na modelagem de um sistema OO do que estruturado:
Porém, menor esforço de programação
(POO) Comparativo com Procedural
35
36
01/04/2022
19
Encapsulamento
“É o processo de esconder todos os detalhes de um objeto que não 
contribuem para suas características essenciais.”
“Nenhuma parte de um sistema complexo deve depender dos 
detalhes internos das outras partes.”
“Para uma abstração dar certo sua implementação deve estar 
encapsulada.”
Grady Booch
(POO) Encapsulamento
Encapsulamento
(POO) Encapsulamento
37
38
01/04/2022
20
Encapsulamento X Abstração
• São conceitos complementares;
• A abstração representa um conceito: o comportamento observável 
de um objeto;
• O encapsulamento impede os clientes de verem como este conceito 
foi implementado
(POO) Encapsulamento
• Reutilizar métodos em qualquer parte do sistema
• Ex.: Método debitar() de uma conta usado para saque e transferência
• Alterar métodos sem impactar o sistema
• Ex.: Posso alterar como o debitar() foi implementado
• Evitar mal uso de operações do sistema
• Ex.: Não permitir que um aluno altere sua nota
(POO) – Por que Encapsular?
39
40
01/04/2022
21
• Em uma classe chamada OperationMath há dois atributos do tipo float que 
recebe os valores para realizar as operações aritméticas. Esta classe deve 
proteger através do encapsulamento seus atributos e a forma como realiza 
suas operações aritméticas, podendo ser: add, sub, mult e div.
• Haverá um método público que receberá os valores e repassará para os 
atributos da classe. Este método fará uma checagem para qual tipo de 
operação deve realizar.
• Finalizando, crie uma outra classe chamada Principal que terá um objeto da 
classe anterior e fara uso do método público para realizar qualquer uma das 
quatro operações aritméticas.
(POO) – Encapsulamento (Exemplo)
(POO) – Encapsulamento
public class OperationMath {
private float a, b;
public void realizarOperacao(float x, float y, String op) {
a = x;
b = y;
switch (op) {
case "+":
System.out.println(add(a,b));
break;
case "-":
System.out.println(sub(a,b));
break;
case "*":
System.out.println(mult(a,b));
break;
case "/":
System.out.println(div(a,b));
break;
default:
System.out.println("Operação realizada.");
}
}
private float add(float z, float w) {
return z + w;
}
private float sub(float z, float w) {
return z - w;
}
private float mult(float z, float w) {
return z * w;
}
private float div(float z, float w) {
return z / w;
}
} //Fecha a Classe
CONTINUAÇÃO...
41
42
01/04/2022
22
(POO) – Encapsulamento
public class Principal {
public static void main(String[]args){
OperationMath op = new OperationMath();
op.realizarOperacao(2, 3, "*");
}
}
TESTANDO...
• Digamos que desejamos obter os valores dos atributos da classe 
OperationMath que estão invisíveis(encapsulados) para qualquer outra 
classe?
(POO) – Encapsulamento (Exemplo)
Podemos nos utilizar dos Get e Set além do toString para isto.
• Portanto, na classe OperationMath, devemos criar estes mecanismos de 
acesso e escrita para os atributos privados da classe. 
• O método Get e toString Obtém os valores dos atributos, já o Set altera o 
valor deles.
Para usar, basta Source/Generate Getters and Setters. Depois toString
43
44
01/04/2022
23
• Processo de dividir um todo em partes bem definidas;
• Que podem ser construídas e examinadas separadamente.
• Essas partes interagem entre si, fazendo com que o sistema 
funcione de forma adequada;
• Particionar um programa em componentes individuais pode reduzir 
a complexidade.
(POO) – Modularização
Premissas da Decomposição: 
• Dividir o problema em suas partes principais;
• Analisar a divisão obtida para garantir 
coerência;
• Se alguma parte ainda permanecer complexa, 
decompô-la também;
• Analisar o resultado para garantir 
entendimento e coerência.
Modularização
objetoB
objetoC
ClasseB
ClasseC
ClasseA
45
46
01/04/2022
24
Vantagens:
• Cada divisão possui um código mais simplificado;
• Facilita o entendimento: divisões independentes;
• Códigos menores são mais fáceis de ser modificados
• Desenvolvimento do sistema através de uma equipe de 
programadores;
• Reutilização de trechos de códigos
(POO) – Modularização
•Objetos
•Instâncias
•Classes
(POO) – Elementos Básicos
47
48
01/04/2022
25
Na programação orientada a objetos, os Objetos são usados 
para representar entidades do mundo real ou computacional.
Observando ao nosso redor, percebemos várias entidades ou 
abstrações as quais podem ser representadas como objetos 
no nosso programa.
• Pessoas, carros e casas podem ser vistos como objetos.
(POO) – Objetos
Um objeto é a entidade que realiza um tipo ou uma coleção 
de tipos (tipo composto) através de suas propriedades e 
comportamento.
Um objeto representa um elemento do problema real 
modelado a partir dos tipos que implementa.
Um objeto é uma variável do tipo de uma classe definida pelo 
usuário. Ou seja, um objeto é uma instância de uma classe.
(POO) – Objetos
49
50
01/04/2022
26
“Um objeto representa uma entidade, unidade ou item 
identificável, individual, real ou abstrato, com um papel bem 
definido no domíniodo problema.” Booch, 91
• O domínio do problema é o escopo em que o problema a ser 
resolvido está inserido.
• Os programadores e os analistas tem como tarefa descobrir quais 
entidades (objetos) fazem parte do domínio do problema.
(POO) Conceitos
Exemplos
(POO) – Objetos
51
52
01/04/2022
27
Animais Seres Humanos
(POO) – Classificando os Objetos
Um objeto tem estado que é um elemento particular e 
personificado da classe.
Podemos dizer que um objeto possui três partes:
(POO) – Objetos
• Estado
• Comportamento
• Identidade
53
54
01/04/2022
28
O estado de um objeto é uma das condições em que ele pode 
existir.
É uma característica transitória.
Ele normalmente muda com o decorrer do tempo e é 
caracterizado pelos valores instantâneos dos seus atributos e 
de suas ligações e relacionamentos com outros objetos.
(POO) – Estado do Objeto
Exemplo:
Um objeto lâmpada pode ter basicamente dois estados:
acesa e apagada
E que só podem ser alterados através das ações: 
acender ou apagar
Estas ações fariam com que o valor do atributo de nome 
aceso variasse entre verdadeiro, quando a lâmpada estivesse 
acesa e falso, quando estivesse apagada.
(POO) – Estado do Objeto
55
56
01/04/2022
29
É definido pelo conjunto de seus métodos, ou seja, pelo 
conjunto das ações que este objeto pode executar e pela 
forma que ele responde às chamadas de outros objetos.
Determina como o objeto age e reage às requisições de 
outros objetos.
(POO) – Comportamento do Objeto
Exemplo:
Um objeto pessoa possui alguns comportamentos padrões:
comer, beber, andar, etc.
Ao enviar uma mensagem para um objeto pessoa do tipo 
comer, ele saberá como responder e executar a ação. Mas se 
você mandar uma mensagem do tipo voar, esse objeto não irá 
responder, pois voar não faz parte de seu comportamento.
(POO) – Comportamento do Objeto
57
58
01/04/2022
30
Caracteriza a UNICIDADE do objeto 
pelo simples fato dele existir.
Um objeto sempre será único 
mesmo que exista um outro objeto 
com os valores e com atributos e 
métodos iguais.
(POO) – Identidade do Objeto
Exemplo:
(POO) – Comportamento do Objeto
Característica:(atributos):
cor: Azul, numero: 9579-8547
Comportamento (métodos)
tocar, ligar, desligar, vibrar
Característica:(atributos):
cor: amarela, placa: PLX-8530, assentos: 30
Comportamento (métodos)
frear, buzinar, acelerar, parar
Identidade: “Celular”
Identidade: “Ônibus Escolar”
59
60
01/04/2022
31
Operações: 
- Ligar
- Desligar
(POO) – Identidade do Objeto
Dados:
- Ligada
- Potência
- Voltagem
A instância em POO é o momento em que um objeto é criado 
a partir de uma classe.
A classe é uma espécie de forma e ao criar um ou mais 
objetos desta mesma classe, diz-se que há instâncias desta 
classe na forma de objetos. Portanto estes objetos tem 
características e comportamentos comuns.
(POO) – Instâncias
61
62
01/04/2022
32
Exemplo:
(POO) – Instâncias
Exemplo:
(POO) – Instâncias
63
64
01/04/2022
33
Em POO o conceitos de Classe, se dá na modelagem de 
programação de um conjunto de objetos que possuem 
características (atributos) e comportamentos (métodos) 
comuns.
• Cada classe funciona no fundo como um molde para a criação 
de um dado objeto;
•Os objetos são vistos como representações concretas 
(instâncias) das classes.
(POO) – Classes
Uma classe é um conjunto de objetos que compartilham uma 
estrutura e comportamento comuns. 
É uma abstração para representar objetos com características 
e comportamentos comuns.
Uma classe pode ser vista como uma “fábrica de objetos”.
(POO) – Classes
65
66
01/04/2022
34
Uma “fábrica de objetos”.
(POO) – Classes
Lampada_1
Lampada_2 Lampada_3
Classe Lampada
Objetos ou instâncias da Classe Lampada
• A classe implementa um ou mais tipos , estabelecendo propriedades 
e comportamento.
• Define o aspecto genérico de um objeto. Todo objeto pertence a 
uma classe.
• A classe é a ideia a partir do qual o objeto se concretiza.
• Uma classe pode especializar e agregar outras classes para 
formalizar uma ideia.
(POO) – Classes
67
68
01/04/2022
35
A classe define que objetos devem ter ano, marca modelo, 
cor, peso e preço mas não indica explicitamente quais são 
seus valores. 
(POO) – Classes
Ano = ?
Marca = ?
Modelo = ?
Cor = ?
Peso = ?
Preço = ?
Ano = 2017
Marca = VW
Modelo = Fox Pepper
Cor = Vermelha
Peso = 1.75ton
Preço = 51.5Mil
Ano = 2015
Marca = VW
Modelo = Novo Fox
Cor = Azul
Peso = 1.5Ton
Preço = 45Mil
Dois diferentes carros foram criados tomando como base a 
estrutura da classe: 
(POO) – Classes
69
70
01/04/2022
36
•Uma classe determina um conjunto de objetos com:
•Propriedades semelhantes
•Comportamentos semelhantes 
•Relacionamentos comuns com outros objetos
•Em uma classe encontramos duas divisões:
• Estrutura: as informações inerentes à classe.
•Comportamento: as operações realizadas pela classe.
(POO) – Classes
A classe não serve para organizar no sentido de guardar os 
objetos, ela serve de modelo de construção.
(POO) – Classes
A classe é o modelo ou molde de construção de objetos.
O modelo define as características e comportamento 
que os objetos irão possuir.
A classe é abstrata (não existe concretamente).
71
72
01/04/2022
37
Uma classe é formada por:
(POO) – Classes
• Por um nome
• Por atributos
• Por métodos
Exemplos:
(POO) – Classes
Classe SerHumano
nome
cpf
idade
nasce(){
...
}
estuda(){
...
}
Nome
Atributos
Métodos
Classe Animal
especie
idade
localizacao
nasce(){
...
}
morre(){
...
}
73
74
01/04/2022
38
Nome da classe:
• Palavras começam com a primeira letra maiúscula;
•Não use nomes longos;
• Em português ou inglês.
(POO) – Classes
Classe SerHumano Nome Classe Animal
Atributo:
•Definidos como variáveis no escopo da classe:
(POO) – Classes
nome
cpf
idade
Atributos
especie
idade
localizacao
75
76
01/04/2022
39
Atributo:
• Acesso via operador de seleção (“.”):
• Sintaxe: objeto.nomeAtributo
(POO) – Classes
serHumano h = new serHumano();
h.Nome = “Jose”
h.cpf = “254+963.964-70”
h.idade = 20
Atributos Animal a = new Animal();
a.Especie = “Felino”
a.idade = 12
a.localização = “ZOO Amazonas”
Atributo:
• São informações de dados que pertencem a um determinado 
objeto.
•Um atributo é uma característica de uma classe.
• Atributos não possuem comportamento, pois eles não são 
objetos.
(POO) – Classes
77
78
01/04/2022
40
Atributo:
• Enquanto na classe o atributo é uma especificação, na instância 
representa o estado do objeto, a própria identidade da instância.
• As instâncias de um objeto têm em comum a classe que define o 
objeto. O que diferencia as instâncias entre si é o valor de seus 
atributos.
• Atributos podem ser inicializados na classe e são modificados ao 
longo da vida útil da instância.
(POO) – Classes
Atributo:
(POO) – Classes
Funcionário
Nome
Nasc
Salário
InformarSalário
CalcularIdade
Funcionário_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salário = 4.000
InformarSalário
CalcularIdade
Funcionário_Mário
Nome=Mário Sá
Nasc=16/02/1970
Salário = 3.000
InformarSalário
CalcularIdade
79
80
01/04/2022
41
Atributo:
• No código Java temos o exemplo dos atributos 
de uma classe:
(POO) – Classes
classe ContaCorrente{
double saldo = 0.0;
double credito = 1000.0;
Correntista titular;
}
Métodos:
• Acesso ao comportamento do objeto:
(POO) – Classes
public void nasce(){
nasce++;
}
public int estuda(int x){
return x;
}
Métodos
public void nasce(){
nasce++;
}
public void morre(){
morre--;
}
81
82
01/04/2022
42
Método:
•Para invocar um método, deve-se enviar uma mensagem 
para o objeto desejado.
•Para identificar uma mensagem, deve-se:
• Identificar o objeto que receberá a mensagem.
• Identificar o método que o objeto deverá executar.
•Passar os argumentos requeridos pelo método.
(POO) – Classes
Método:
(POO) – Classes
Emissor (cliente)
Receptor (servidor)
Objetos interagem e se comunicam
através de mensagens…
83
84
01/04/2022
43
Método:
(POO)– Classes
Funcionário
Nome
Nasc
Salário
InformarSalário
CalcularIdade
Funcionário_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salário = 4.000
InformarSalário
CalcularIdade
Funcionário_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salário = 4.000
InformarSalário
CalcularIdade
4000
?
ERRO!
Informar
Salário?
Calcular 
Desconto?
Método:
(POO) – Classes
Emissor (cliente)
Receptor (servidor)
… as mensagens identificam os métodos a serem 
executados no objeto receptor
85
86
01/04/2022
44
Método:
•Um método é uma implementação de uma operação.
• É uma operação sobre um objeto, definido como parte da 
declaração de uma classe.
•A classe implementa o comportamento desejado para o 
objeto através de métodos.
(POO) – Classes
Método:
(POO) – Classes
Funcionário
Nome
Nasc
Salário
InformarSalário
CalcularIdade
Funcionário_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salário = 4.000
InformarSalário
CalcularIdade
4000
Informar
Salário? Funcionário_Mário
Nome=Mário Sá
Nasc=16/02/1970
Salário = 3.000
InformarSalário
CalcularIdade
3000
87
88
01/04/2022
45
A maioria dos objetos em um programa Java são acessados 
por variáveis chamadas referências
• Como Java é fortemente tipada, estas variáveis devem ser 
declaradas e tipificadas em tempo de compilação
• Exemplos:
(POO) – Referências para Objetos
A declaração 
indica o tipo 
de uma 
referência
(POO) – Referências para Objetos
89
90
01/04/2022
46
A instanciação
cria o objeto 
na memória.
(POO) – Referências para Objetos
Uma 
mensagem é 
enviada ao 
objeto.
E faz o 
método 
correspondente 
ser executado.
(POO) – Referências para Objetos
91
92
01/04/2022
47
A referência 
pode deixar 
de apontar 
p/ o objeto.
(POO) – Referências para Objetos
Lista 3
(POO) – Exercícios
93
94
01/04/2022
48
Dúvidas?
95

Continue navegando