Sobes.tech
Junior — Middle

¿En qué situaciones se considera incorrecto o no deseable el uso de la herencia en la programación orientada a objetos?

sobes.tech AI

Respuesta de la IA

El uso de la herencia se considera incorrecto o no deseado en las siguientes situaciones:

  • Cuando la subclase no es un tipo verdadero de la clase base (violación del principio de sustitución de Liskov).
  • Si la herencia se utiliza para reutilizar código y no para expresar una relación de "es un" (is-a).
  • Cuando la jerarquía se vuelve demasiado profunda y compleja, dificultando el mantenimiento y la comprensión del código.
  • Si la herencia conduce a una fuerte acoplamiento entre clases, dificultando cambios y extensiones.
  • En casos donde la composición (has-a) es preferible a la herencia para aumentar la flexibilidad.

Por ejemplo, si la clase Car hereda de Engine, esto es incorrecto, ya que un coche no es un motor. Es mejor usar composición: Car contiene un objeto Engine.