Fallos del tipo CWE-1055
1 resultadoHerança múltipla de classes concretas
Ocorre quando uma classe herda de duas ou mais classes concretas (não abstratas) simultaneamente, criando ambiguidade de método, conflitos de inicialização e violação do princípio de coesão. Isso torna o código frágil, difícil de manter e propenso a comportamentos inesperados quando métodos homônimos existem nas superclasses.
Uma classe Veiculo herda tanto de Carro quanto de Bicicleta, ambas concretas. Se ambas definem um método acelerar() com lógica diferente, a linguagem não sabe qual usar, ou a resolução silenciosa causa bugs. Além disso, inicializadores de ambas as classes podem conflitar ou deixar o estado inconsistente.
Use composição em vez de herança múltipla: crie classes abstratas ou interfaces para representar comportamentos comuns, e prefira delegar funcionalidades via agregação. Em linguagens como Java ou C#, herde de no máximo uma classe concreta e implemente múltiplas interfaces. Revise o design de classes para evitar o "diamante" de herança.