Orientação a objetos: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Rfabbri (discussão | contribs)
m →‎Legado de paradigmas anteriores: melhorada escrita, explicitado que tudo se aplica aa PE
Rfabbri (discussão | contribs)
→‎Novas características: mudado de bold para itálico, para conformar aos padroes da Wikipedia
Linha 60:
ou a uma única instância. O vínculo dos atributos aos métodos,
de forma a manter uma interface bem definida para operação sobre os dados,
e a evitar corrupção dos dados, é chamado de '''encapsulamento'''.
O encapsulamento foi responsável pelo conceito de 'ocultamento de dados',
central para a POO.
Linha 69:
Encapsulamento incentiva o desacoplamento.
 
Quando um objeto contém outros objetos, diz-se que há '''composição de objetos'''.
A composição de objetos é usada para representar uma relação 'tem um', usualmente uma [[meronímia]].
Já a '''herança''' (quase sempre suportada pelas linguagens que utilizam classes)
apresenta relações 'é um' (i.e. 'é um tipo de'),
ou seja, relações de [[hiperonímia]] cujo resultado final é a '''árvore taxonômica'''.
Linha 82:
e objetos na POO.
 
'''Herança múltipla''' ocorre quando uma classe é filha de mais de uma classe.
'''Mixin''' pode ser considerado um tipo especifico de herança, embora haja uma
diferença crucial: a classe da qual são herdadas as características não
é considerada pai/mãe.
 
'''Polimorfismo''' é quando alguma rotina pode ser chamada para objetos diferentes.
Por exemplo, assuma que a função retornaCorPrincipal() possa ser chamada tanto em
um objeto da classe Imagem quanto da classe Video.
O polimorfismo é um tipo de abstração que simplifica códigos externos à hierarquia de classes
e uma separação forte das '''responsabilidades''' (separation of concerns).
 
Há orientações diversas para a POO, muitas de reconhecida complexidade.
Por exemplo, o '''princípio da composição sobre herança''' advoca
que a composição de objetos é preferida à herança.
O '''princípio aberto/fechado''' advoca que classes e funções
deve ser 'abertas p extensão mas fechadas para modificação'.
 
'''Subtipos comportamentais fortes''' (ou '''princípio de substituição de Liskov''',
LSP do inglês '''Liskov substitution principle''')
são filhos que mantém todas as características dos pais.
Dito de outra forma,