Buscar

Herança e Polimorfismo em Orientação a Objetos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula 5
Herença
Significa a capacidade de incorporar as características e as funcionalidades de uma classe. Assim como a herança de todas as operações e dados, você pode especializar métodos da super classe e especificar novas operações e dados, para refinar, especializar, substituir ou estender a funcionalidade da classe progenitora.
Ao lado, podemos ver que a classe “Meios de Transportes” é uma classe genérica. Já as classes Terrestres, representam as características dos Meios de Transportes mais as peculiaridades dos veículos terrestres. Os meios Aéreos, também são meios de transportes, mas suas peculiaridades são diferentes dos outros tipos de meios de transportes, assim como os Marítimos.
Terminologias
Classe Abstrata
Uma classe abstrata é utilizada quando deseja-se fornecer uma interface comum a diversos membros de uma hierarquia de classes. Os métodos declarados na classe abstrata serão implementados em suas subclasses, através de polimorfismo.
Imagine uma classe que no seu sistema, a uma funcionalidade existente em todas as subclasses quer ser apresentada na superclasse. Este método é definido na superclasse como Abstract. Nas subclasses, estes métodos serão implementados, cada um com a sua peculiaridade.
Vamos imaginar a seguinte hierarquia de classes: 
			Empregado
	
Chefe 	PorComissão	Porltem	PorHora
onde Chefe, PorComissao, PorItem e PorHora são classes finais.
Todas essas subclasses vão precisar redefinir o método ganha(). Como se tratam de tipos diferentes de empregado, cada um ganha de uma forma: Chefe: salário fixo e predefinido 
PorComissão: valor fixo + comissão * vendas
Poritem: valor por produção * quantidade produzida
PorHora: valor por hora * total de horas trabalhadas.
Declarando o método como abstrato na superclasse, garante-se que nas 4 subclasses haverá a implementação do método ganha() para cada tipo de empregado (do contrário, objetos destas classes não poderão ser criados).
Para testar esta implementação, precisamos de uma classe para que tenha o main().
Polimorfismo

Continue navegando