Upload
armando-daniel
View
301
Download
0
Embed Size (px)
Citation preview
Curso de Java
by Antonio Rodrigues Carvalho Neto
Herança
Herança
� Ocorre quando uma classe recebe as mesmas características e comportamentos de outra classe, passando a ser uma espécie do seu progenitor.
Filha
Pai
Mais abrangente
Mais especialista
Herança� Na ciência natural, há muitas formas de
herança.Felino
Jaguatirica
Gato
Alpinista
Gato
Boemio
Gato
Siamês
Herança
� Observe que na hierarquia dos gatos, o Gato Boêmio herda as mesmas caracteristicas do Felino . E o Gato Siamês é um tipo de Gato Boêmio , portanto herda as caracteristicas de Gato Boêmio e por consequência herda também as características de Felino .
Herança – Diagrama UML
Herança
� Na Herança os membros filhos herdam as características e comportamentos do pai. Portanto todos os gatos herdam as caracteristicas Tamanho e Peso da classe Felino e também o comportamento de Miar
Herança
� Portanto a classe do Gato Bohêmio fica da seguinte forma
Gato Bohêmio
tamanho : floatpeso : float
nivel de alcool : int
miar()ser_folgado()
Herdado da(s) classe(s) superiores
Específico da classe
Herança
� E o Gato Siamês , pelo fato de ser filho da classe Gato Bohêmio , ele herda suas características e comportamentos.
Gato Siamês
tamanho : floatpeso : float
nivel de alcool : intcor_do_pelo : String
miar()ser_folgado()
dormir_no_sofá()
Herdado da(s) classe(s) superiores
Específico da classe
Herança
� Para herdar as características e comportamentos de uma classe utilize a palavra reservada extends conforme o exemplo abaixo:
public class Funcionario { float salário;
public void recebeSalario() { System.out.println(“Oba ... recebi meu salário ... “);
}}
public class Gerente extends Funcionario { float verba;
}
Gerente
verba
Funcionario
recebeSalario()
salario
Objetos
Execução ObjetosClasses
JVM
Funcionario
recebeSalario()
salario
UsaEmpresa
main()
jose
recebeSalario()
800.0
oscar
recebeSalario()
2500.010000.0;
1
Funcionario jose = new Funcionario();
Gerente oscar = new Gerente();
jose.salario = 800.0f;
oscar.salario = 2500.0f;
oscar.verba = 10000.0f;
2
3
Gerente
verba
Exercício
� Crie as classes em java conforme o diagrama abaixo: