Herança
Seminário: Herança. Pesquise 861.000+ trabalhos acadêmicosPor: Ramf • 1/4/2014 • Seminário • 756 Palavras (4 Páginas) • 234 Visualizações
Herança
●
Na aula anterior estudamos algumas técnicas utilizadas em
Java para reutilização da classes: composição de classes e
herança;
●
A herança é uma técnicas e permite criar classe utilizando
classes já existente de forma simples e eficiente.
●
A herança cria uma relação muito estreita entre a classe
original, ou superclasse, e a classe derivada, ou subclasse:
a
subclasse é do tipo da superclasse.
●
Desta forma uma instância de uma subclasse poderia
representar uma instância da superclasse já que tem toda a
informação necessária para isto.
Polimorfismo
●
Esta característica das linguagens de POO, derivada da
herança, permite introduzir um novo conceito:
o
polimorfismo
(Poli muitas morfismo formas)
●
O polimorfismo permite manipular classes que herdam da
mesma superclasse de forma unificada. Isto é:
“
Podeos escrever métodos que recebam como
argumentos instâncias da classe C e eles serão poderão
receber como argumentos instâncias de classes que
herdam da classe C”
Lembram do exemplo da aula anterior?
Polimorfismo
Método da classe
Data
public boolean eIgual(Data outraData)
{
if ((dia == 0) || (outraData.dia == 0)) return false;
if (( dia == outraData.dia) && // representam o mesmo dia
( mes == outraData.mes) && // representam o mesmo mes
( ano == outraData.ano))
return true;
else
return false;
} // fin do método éIgual
Método da classe
DataFSemestre
que herda da classe
Data
.
public boolean eIgual(DataFSemestre outraData)
{
return super.eIgual(outraData);
} // fin do método éIgual
Polimorfismo
●
É possível implementar numa classe métodos polimorfos e
sobrecarregados simultaneamente. Isto significa que se,
numa determinada classe implementamos um método que
recebe uma instância da classe
Pessoa
e outro
sobrecarregado que receba instâncias da classe
Funcionario
, poderemos utilizar estes métodos
enviando instâncias da classe
Pessoa
,
Funcionario
ou
ChefeDeDepartamento
.
Qual método será chamado em cada caso?
Classes Abstratas
●
O mecanismo de heran
ç
a, que vimos na aula anterior,
nos permite criar uma nova classe utilizando como base
uma classe j
á
existente.
●
O planejamento que quais classes ter
ã
o herdeiras e o
mecanismo de implementa
çã
o das diferen
ç
as entre as
classes e suas herdeiras geras as vezes complica
çõ
es,
sobre tudo em aplicativos compostos por muitas classes.
●
Nem sempre
é
desej
á
vel implementar uma classe
ancestral que tenha todos os m
é
todos e atributos comuns
à
s suas herdeiras.
●
Muitas vezes
é
interessante definir apenas os atributos
e m
é
todos sem que estes sejam implementados.
Classes Abstratas
●
O
...