Junior — Middle
Em que situações o uso de herança é considerado incorreto ou indesejado na programação orientada a objetos?
sobes.tech IA
Resposta da IA
O uso de herança é considerado incorreto ou indesejado nas seguintes situações:
- Quando a subclasse não é um tipo verdadeiro da classe base (violação do princípio de substituição de Liskov).
- Se a herança for usada para reutilizar código e não para expressar uma relação de "é um" (is-a).
- Quando a hierarquia se torna demasiado profunda e complexa, dificultando a manutenção e compreensão do código.
- Se a herança levar a um acoplamento forte entre classes, dificultando alterações e extensões.
- Nos casos em que a composição (has-a) é preferível à herança para aumentar a flexibilidade.
Por exemplo, se a classe Car herda de Engine, isso é incorreto, pois um carro não é um motor. É melhor usar composição: Car contém um objeto Engine.