nHerança
estrita (extensão): subclasse estende a superclasse, acrescentando novos membros (atributos e/ou
métodos).
nA superclasse permanece inalterada.
nHerança de
interface (especificação): a
superclasse especifica o que uma subclasse deve oferecer, mas não implementa nenhuma funcionalidade. Apenas a interface da superclasse é herdada pela subclasse.
nHerança
polimórfica: a subclasse herda a interface e uma implementação de (pelo menos alguns) 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.