Repaso
English

'Favorecer la composición sobre la herencia' ayuda sobre todo a evitar…

Opciones

  1. Usar clases en el diseño de un programa
  2. Jerarquías profundas y frágiles, donde los cambios en la base se propagan (Opción correcta)
  3. Escribir interfaces para todas las clases del programa
  4. Usar polimorfismo en el diseño de un programa

Respuesta

Jerarquías profundas y frágiles donde los cambios en una clase base se propagan a las subclases

Por qué

La herencia ('es un') ata mucho a un hijo con su padre: un cambio en el padre puede romper a todos los hijos, y las jerarquías profundas se vuelven difíciles de entender.

La composición ('tiene un') construye un objeto a partir de partes más pequeñas que guarda como atributos: un Car TIENE un Engine. Las partes se cambian con facilidad, incluso en ejecución.

Usa herencia solo para relaciones 'es un' reales y mantenla poco profunda.

Recuerda

Prefiere 'tiene un' (composición) a 'es un' (herencia).

Términos clave

Practica esta pregunta en Repaso