46
edições
[edição não verificada] | [edição não verificada] |
mSem resumo de edição |
m (→Herança) |
||
O conceito de encapsular estrutura e comportamento em um tipo não é exclusivo da orientação a objetos; particularmente, a programação por tipos abstratos de dados segue esse mesmo conceito. O que torna a orientação a objetos única é o conceito de herança.
Há várias formas de relacionamentos em herança:
;Extensão
* '''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.▼
;Especificação
* '''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.▼
▲
;Combinação de extensão e especificação
▲
A última forma é, sem dúvida, a que mais ocorre na programação orientada a objetos.
|
edições