Weaknesses of type CWE-1055

1 result

Herança múltipla de classes concretas

Ocorre quando uma classe herda de mais de uma classe concreta (não abstrata), criando ambiguidade e complexidade desnecessária no design. Isso pode levar a conflitos de método, duplicação de estado e dificuldade de manutenção, aumentando a superfície de ataque e a chance de comportamentos inesperados.

Example

Uma classe `Usuario` que herda tanto de `Pessoa` quanto de `Funcionario`, ambas concretas com atributos e métodos próprios. Quando métodos com o mesmo nome existem nas duas classes pai, fica ambíguo qual será executado, causando bugs ou comportamentos inconsistentes na autenticação ou autorização.

How to mitigate

Use composição em vez de herança múltipla: a classe `Usuario` deve conter instâncias de `Pessoa` e `Funcionario` como atributos. Também aplique herança apenas de classes abstratas ou interfaces para definir contratos, nunca de múltiplas classes concretas com lógica.