Java orientação a objetos (herança)

Preview:

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:

Recommended