Herencia es un concepto central en la programación orientada a objetos que permite crear nuevas clases basadas en clases existentes. Con la herencia puedes reutilizar código y simplificar la estructura de tus programas. Esta guía te transmite los aspectos básicos de la herencia en PHP y te muestra a través de un ejemplo concreto cómo puedes implementar este concepto efectivamente en tus proyectos.
Principales conclusiones
- La herencia permite derivar una nueva clase de una clase existente.
- Las propiedades y métodos de la clase base se heredan a la clase derivada.
- Los métodos pueden ser sobreescritos en la clase derivada para implementar un comportamiento específico.
Guía paso a paso sobre la herencia en PHP
1. Definición de la clase base
Comienza definiendo una clase base. En este ejemplo, crearemos una clase Coche que incluye una función básica para acelerar. Esta clase tiene una propiedad pública para la velocidad y un método para incrementar la velocidad.

Con esta estructura, nuestro Coche es capaz de aumentar su velocidad cuando se llama al método acelerar.
2. Creación de una clase derivada
Ahora que hemos definido nuestro Coche base, crearemos una clase derivada llamada CocheDeCarreras. Esta clase amplía la funcionalidad del Coche al heredar de la clase base.

Mediante el uso de extends, la clase CocheDeCarreras está subordinada a la clase Coche. Esto otorga al CocheDeCarreras acceso a sus propiedades y métodos.
3. Instanciación de objetos
Ahora podemos instanciar tanto un Coche normal como un CocheDeCarreras. Esto nos da la oportunidad de probar los métodos de ambas clases.

Aquí vemos que el cocheNormal y el cocheDeCarreras tienen sus propias instancias y ambos pueden llamar al método acelerar.
4. Sobrescritura de métodos
En la clase CocheDeCarreras podemos sobrescribir el método acelerar para introducir un comportamiento más sofisticado.

Con parent::acelerar() llamamos al método de la clase padre y luego agregamos una lógica adicional para utilizar el turbo.
5. Acceso a propiedades y métodos
Si ahora deseas imprimir la velocidad de ambos vehículos, puedes acceder a la propiedad velocidad.

Estas salidas muestran las velocidades actuales de ambos coches.
6. Entender la polimorfía
Un tema central en el contexto de la herencia es la polimorfía. Esto implica que el mismo método es utilizado en diferentes contextos. Un ejemplo es que tanto el Coche como el CocheDeCarreras poseen el método acelerar, pero este se implementa de manera diferente.

Gracias a esta función puedes acelerar cualquier tipo de vehículo a través de la misma interfaz.
7. Conclusión sobre la herencia
La herencia es una herramienta poderosa en PHP que te permite extender clases existentes y crear código reutilizable. Esto te permite estructurar aplicaciones complejas de manera eficiente. La posibilidad de sobrescribir métodos significa que puedes implementar comportamientos específicos en clases derivadas sin tener que reescribir toda la lógica.
Resumen - Programación orientada a objetos con PHP: Entender la herencia
El tratamiento de la herencia en PHP te permite mantener un enfoque estructurado en el desarrollo de tu software. Puedes diseñar clases para que se complementen y faciliten tu trabajo.
Preguntas frecuentes
¿Cuál es la ventaja de la herencia en PHP?La herencia promueve la reutilización del código y simplifica la estructura del software.
¿Cómo puedo sobrescribir un método en una clase derivada?Utiliza la misma firma del método y opcionalmente parent::nombreDelMétodo() para utilizar los métodos del padre.
¿Qué es la polimorfía?La polimorfía se refiere a la capacidad de implementar el mismo método de diferentes maneras, en función de la instancia del objeto.
¿Qué sucede si sobrescribo varios métodos?Cada método puede ser específico para la clase derivada, lo que da lugar a diferentes comportamientos.
¿Existen términos alternativos para la herencia?Sí, en la literatura técnica a menudo se habla de "derivación" o "creación de subclases".