Uso de la Herencia
La herencia es un principio fundamental de la programación orientada a objetos que permite reutilizar código, reducir duplicación y mejorar la organización. Sin embargo, un mal uso de la herencia puede complicar el código, aumentar la rigidez y violar principios como el de responsabilidad única (SRP) o el de sustitución de Liskov (LSP).
En ocasiones es recomendable usar composición en lugar de herencia. #
1. Ejemplo Malo: Código Sin Herencia #
Cargando actividad al acercarte…
2. Ejemplo Corregido: Uso de Herencia #
3. Beneficios #
- Reutilización de Código: Los métodos comunes como eat() y sleep() están centralizados en la clase base Animal.
- Mantenibilidad: Cambios en el comportamiento común solo necesitan hacerse en la clase base.
- Extensibilidad: Es fácil agregar nuevos tipos de animales que compartan la funcionalidad común.
- Claridad: Las clases derivadas se enfocan únicamente en su comportamiento específico, mejorando la cohesión.
Cargando actividad al acercarte…
Resumen del tema
Conceptos clave #
- Abuso de la Herencia: utilizar herencia para reutilizar código simple en lugar de modelar relaciones jerárquicas reales "es-un" (is-a).
- Fragilidad de Clases Base: los cambios en clases padre con jerarquías profundas provocan efectos secundarios imprevistos en todas las subclases.
- Composición sobre Herencia: favorecer la agregación de dependencias (has-a) y jerarquías planas para mantener el desacoplamiento.
Qué debes recordar #
Usa la herencia solo para relaciones estrictas de polimorfismo y prefiere la composición para compartir y extender funcionalidades.