Inheritance
La herencia permite que una subclase reutilice y extienda los campos y métodos de su clase padre, estableciendo una relación is-a — un mecanismo central de la orientación a objetos.
Propósito
Reutilización de código y modelado jerárquico, aunque su abuso lleva al problema de la clase base frágil.
Mecanismo
Una subclase hereda los miembros del padre y puede añadir o sobrescribirlos. Herencia simple (clases de Java) frente a múltiple (C++/Python). El problema del rombo requiere herencia virtual (C++) o linearización (MRO de Python). Composición sobre herencia es el principio rector.
Casos de uso
- Diseño orientado a objetos
- Modelado jerárquico
- Reutilización de código