Índice:
Definição - O que significa Herança Múltipla?
Herança múltipla é um recurso de algumas linguagens de programação orientadas a objetos nas quais uma classe ou um objeto herda características e propriedades de mais de uma classe ou objeto pai. Isso é contrário à propriedade de herança única, que permite que um objeto ou classe herde de um objeto ou classe específica. Embora haja certos benefícios associados à herança múltipla, ela aumenta a ambiguidade e a complexidade quando não é projetada ou implementada adequadamente.
Techopedia explica herança múltipla
Diferentemente da herança única, a herança múltipla possui mesclagem simétrica e extensão assimétrica de uma perspectiva de herança. Quando as características de um conjunto não dependem das características do outro, é provável que a herança múltipla seja mais vantajosa. Em outras palavras, a herança múltipla é mais útil quando a separação de características de objetos em conjuntos ortogonais é possível. A herança múltipla é útil no caso de um padrão de adaptador. Permite que uma interface seja adaptada por outra. Outro benefício da herança múltipla está associado ao padrão do observador. Nesse padrão, as chamadas podem manter uma lista de funções / observadores que podem ser notificados por alguma alteração, chamando uma das funções. Exemplos de linguagens de programação que suportam herança múltipla são C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp e Tcl. Java é uma das linguagens de programação mais importantes que não suporta herança múltipla.
No entanto, existem algumas desvantagens associadas à herança múltipla. O recurso complica o envio do método e também traz um exame adicional ao aplicativo. A herança múltipla precisaria ter consciência das dependências, especialmente relacionadas às seleções de métodos. Além disso, os protocolos que usam herança múltipla precisariam de mais documentação do que aqueles que usam herança única.
![O que é herança múltipla? - o que é techopedia O que é herança múltipla? - o que é techopedia](https://img.theastrologypage.com/img/img/blank.jpg)