Herança Múltipla

A herança múltipla permite que uma classe possua mais de uma superclasse e herde características de todos os seus ancentrais. Isso permite a mesclagem de informações de duas ou mais origens. Essa é uma forma mais complicada de generalização do que a herança simples, que restringe a hierarquia de classes a uma árvore. A vantagem da herança múltipla é a maior capacidade de especificação de classes e a maior oportunidade de reutilização. Ela traz a modelagem de objetos para mais próximo da maneira como se costuma pensar. A desvantagem é a perda em simplicidade conceitual e de implementação. Em princípio, os tipos de diferentes regras de mesclagem podem ser definidos para solucionar conflitos entre características definidas por diferentes caminhos.

Uma classe com mais de uma superclasse é denominada classe de junção. Uma característica proveniente da mesma classe ancestral encontrada em mais de um caminho é herdada apenas uma vez; é a mesma característica. Os conflitos entre definições paralelas criam ambiguidades que precisam ser resolvidas nas implementações. Na prática, esses conflitos devem ser evitados ou explicitamente resolvidos para se evitar ambiguidades ou mal-entendidos, mesmo quando uma determinada linguagem fornece uma regra de prioridade para solução de conflitos.

Ex.:

Exemplos
 

[VOLTA]

 


Aula produzida por Leonardo Mendes Simão, Rafael de O. Valle dos Santos e Rafael Sabbagh Armony