Escolar Documentos
Profissional Documentos
Cultura Documentos
Parte II
Facebook Twitter
(14) (0)
Objetos
Exemplo:
pess.nome = "Joao";
pess.apelido = "Joca";
pess.altura = 170.0f;
pess.idade = 34.0f;
pess.peso = 65.0f;
Observe como seria o acesso a estes atributos em um pseudocdigo. Veja que a palavra
pess utilizada para referenciar um objeto da classe Pessoa criada.
Herana
Ela modela as caractersticas que todo ser vivo deve possuir, como a capacidade de
reproduzir-se ou a necessidade de alimentar-se. Sendo assim, a classe SerVivo define
atributos e mtodos tais como:
Atributos: Alimentos, Idade
Os seres vivos por sua vez classificam-se em Animais e Vegetais, os quais possuem
caractersticas prprias que os distingue:
Mtodos: Locomover
//qualquer
Em Java, todas as classes, tanto as existentes nas APIs como as definidas pelos
programadores, automaticamente derivam de uma superclasse padro, a classe Object.
Alm disso, Java permite apenas herana simples, isto , uma classe pode estender
apenas de uma nica outra classe.
private double x;
private double y;
//Cdigo para girar o ponto em torno de outro ponto p a quantidade definida em //grau
comum em programao orientada a objeto definir mtodos gets e sets que provm
acesso aos dados protegidos da classe.
Crculo crculo;
O operador new cria uma instncia da classe e retorna a referncia do novo objeto.
Uma vez um objeto tendo sido criado, seus mtodos e atributos pblicos podem ser
acessados utilizando o identificador do objeto (varivel que armazena sua referncia)
atravs do operador ponto:
<identificador>.<atributo>
<identificador>.<mtodo>
A aplicao que criou o objeto Crculo acima pode solicitar ao objeto que ele se desenhe
fazendo:
crculo.criaCrculo();
Polimorfismo
O termo Polimorfismo origina-se do grego e quer dizer "o que possui vrias formas".
Crculo() {}
cor = c;
Crculo (double x1, double y1, double x2, double y2, Cor c)
cor = c ;
Todos estes mtodos construtores possuem o mesmo nome, mas devem ser diferidos
entre si pelos parmetros que recebem.
String formaLocomoo;
String habitat;
int tempoMdioVida;
Como nem todo ser vivo nasce, cresce, alimenta-se, respira, se reproduz e morre da
mesma maneira, razovel que queiramos redefinir todos estes mtodos na classe
animal:
String formaLocomoo;
String habitat;
int tempoMdioVida;
//Este mtodo faz a anlise clnica de qualquer SerVivo e para isso precisa pedir
ser.respirar();
...
}
...
analisaSerVivo(animal);
...
Neste caso fica a questo, se o mtodo tem um argumento declarado como SerVivo e
recebe como parmetro um objeto Animal, quando tiver que executar o mtodo
respirar() qual mtodo ser efetivamente chamado, o mtodo respirar definido em
O mtodo executado ser o mais apropriado, isto , aquele pertencente ao objeto que foi
passado varivel, neste caso, o mtodo respirar existente em Animal.