Você está na página 1de 14

HERANÇA

JAVA
Definição

A herança é um mecanismo da POO que


permite criar novas classes a partir de classes já
existentes, aproveitando-se das características
existentes na classe a ser estendida.
Vantagem

Promove o reaproveitamento de código


existente.
Com a herança é possível criar…

Super classes (classes base ou classes mãe)

Sub classes (classes derivadas ou classes filhas)


Sub classes

As subclasses herdam todas as características


das suas superclasses, nomeadamente:
atributos e métodos.
Exemplo 1
Palavra reservada Extends

As sub classes são vinculadas à super classe


utilizando a palavra reservada extends.
Diagrama UML
Palavra reservada New

Quando o operador new é aplicado numa sub


classe, o objeto construído possuirá os atributos
e métodos definidos na sub classe e na super
classe.
Palavra reservada New
Construtores e Herança

Quando temos uma hierarquia de classes, as


chamadas dos construtores são mais complexas
do que o normal.
Pelo menos um construtor de cada classe de
uma mesma sequência hierárquica deve ser
chamado ao instanciar um objeto.
Construtores e Herança

Por exemplo, quando um objeto da classe


Emprestimo é criado, pelo menos um construtor
da própria classe Emprestimo e um da classe
Servico devem ser executados.
Além disso, os construtores das classes mais
genéricas são chamados antes dos construtores
das classes específicas.
Reescrita de métodos

Quando definimos um método com a mesma


assinatura (nome) na classe mãe e em alguma
classe filha, estamos a aplicar o conceito de
Reescrita de Método.
Significa que em cada classe filha podemos
reescrever o método que foi definido na classe
mãe.
SUPER versus THIS

É possível chamar o método original (da classe


mãe) através da palavra reservada SUPER.

Você também pode gostar