Академический Документы
Профессиональный Документы
Культура Документы
Computao e Informtica
Linguagem de
Programao II
Aula 4: Polimorfismo
Tpicos da Aula
Polimorfismo
Exemplos de Polimorfismo
Vantaens do Polimorfismo
Mtodos Abstratos
Classes Abstratas
Tpicos da Aula
Vinculao Dinmica
Hierarquia Employee
Classe Employee
Classe HourlyEmployee
Classe CommissionedEmployee
Classe BasePlusComissionedEmployee
Daniel Arndt Alves Polimorfismo 3
Tpicos da Aula
Processamento Polimrfico
Operador instanceof
A classe Class
Exemplo de Polimorfismo
Polimorfismo
Exemplos de Polimorfismo
Sobrecarga de um mtodo
Mesmo nome, parmetros diferentes
setData(int dia, int mes, int ano)
setData(int dia, int mes, int ano, int
hora, int minuto, int segundo)
Exemplos de Polimorfismo
Sobrescrita de um mtodo
Uma subclasse redefne um
comportamento de sua superclasse
umaPessoa.toString()
umEmpregado.toString()
umGerente.toString()
Vantagens do Polimorfismo
Vantagens do Polimorfismo
Mtodos Abstratos
Classes Abstratas
Classes Abstratas
Classes Abstratas
Vinculao Dinmica
Vinculao Dinmica
Vinculao Dinmica
Hierarquia Employee
Classe Employee
Classe Employee
Classe Employee
Classe Employee
Hierarquia Employee
Classe HourlyEmployee
Classe HourlyEmployee
Classe SalariedEmployee
Classe
CommissionedEmployee
Classe
CommissionedEmployee
Classe
CommissionedEmployee
Classe
BasePlusCommissionedEmployee
Classe
BasePlusCommissionedEmployee
Processamento Polimrfico
Vinculao Dinmica
Tambm conhecida como Vinculao
Tardia
Chamadas aos mtodos sobrescritos,
so resolvidas em tempo de execuo,
com base no tipo de objeto referenciado.
A Classe Class
Mtodo getClass
Herdado de Object
Retorna um objeto do tipo Class
A Classe Class
Mtodo getName
Retorna o nome da classe:
A Classe Class
Exemplo de Polimorfismo
Vinculao Tardia - Late Binding
Casting
Cast: converter de um tipo de dados para
outro
Casting
Upcast: converter sem perda de
informao
Casting
Casting
Upcast: subir na hierarquia
CommissionEmployee -> Employee
BasePlusCommissionEmployee ->
CommissionEmployee
Downcast: descer na hierarquia
CommissionEmployee ->
BasePlusCommissionEmployee
Casting
Casting
Subclasse <- Superclasse
Erro de Compilao
Casting
Antes de realizar esta coero, utilizar o
operador instanceof, para assegurar que
o objeto de fato um objeto de um tipo de
subclasse apropriado.
Mtodos final
No podem ser sobrescritos em uma
subclasse.
Mtodos private e static so
implicitamente final
Mtodos final so resolvidos em tempo
de compilao, isso conhecido como
vinculao esttica.
Daniel Arndt Alves Polimorfismo 56
Classes final
Classes final
No podem ser estendidas por uma
subclasse.
Todos os mtodos em uma classe
final so implicitamente final.
Faculdade de
Computao e Informtica
Obrigado
58