-
Há várias formas de relacionamentos em herança:
Extensão: subclasse estende a superclasse, acrescentando novos membros (atributos e/ou métodos). A superclasse permanece inalterada, motivo pelo qual este tipo de relacionamento é normalmente referenciado como herança estrita.
Especificação: a superclasse especifica o que uma subclasse deve oferecer, mas não implementa nenhuma funcionalidade. Diz-se que apenas a interface (conjunto de especificação dos métodos públicos) da superclasse é herdada pela subclasse.
Combinação de extensão e especificação: a subclasse herda a interface e uma implementação padrão de (pelo menos alguns de) métodos da superclasse. A subclasse pode então redefinir métodos para especializar o comportamento em relação ao que é oferecido pela superclasse, ou ter que oferecer alguma implementação para métodos que a superclasse tenha declarado mas não implementado. Normalmente, este tipo de relacionamento é denominado herança polimórfica.
-
Fonte??
-
Acho que está errada, pois pode alterar a constituição. Não somente acrescentando coisas novas. Os métodos podem ser sobrescritos, por exemplo.
-
Fonte do comentário do Gustavo Flores: http://www.dca.fee.unicamp.br/cursos/PooJava/heranca/formas.html
-
A superclasse especifica o que uma subclasse deve oferecer, mas não implementa nenhuma funcionalidade. Diz-se que apenas a interface (conjunto de especificação dos métodos públicos) da superclasse é herdada pela subclasse.
Fonte do comentário do Gustavo Flores: http://www.dca.fee.unicamp.br/cursos/PooJava/heranca/formas.html
-
Dica rápida:
ESPECIFICAÇÃO -- INTERFACE
Top down: superclasse ->>> subclasse.
Go @head!!!!
-
Extensão: subclasse estende a superclasse, acrescentando novos membros (atributos e/ou métodos)
Especificação: a superclasse especifica o que uma subclasse deve oferecer