Plantilla:PHP/Herencia

Herencia
Se puede definir una clase con ciertas características (atributos, métodos)
 * La herencia es un mecanismo de programación que me permite crear una jerarquía en los componentes software, que se pueden ir especializando
 * Posteriormente puedo definir otra clase a partir de la ya existente, quedándo implícitamente los atributos y métodos como también parte de su estructura o composición
 * Es una característica muy natural (p.e Personas (médicos y bailarines) vehículos (Terrestres (coche, moto) Acuáticos (barco, lancha))
 * Es una forma de obtener características comunes por separado y luego especializar evitando redundancias
 * Facilita la reusabilidad y adaptación
 * Vemos dos ejemplos para explicar de forma empírica este concepto

clases abstractas

 * Es una situación particular que se presentan en muchas jerarquías
 * Cuando realizamos jerarquías muchas veces encontramos métodos comunes a varias clases. Esto implicaría que ese método sería un método de una superclase o clase padre de la que luego se heredará
 * Pero puede ocurrir que aunque el concepto del método es común a todas las clases,la forma de implementarla es particular en cada una de ellas.
 * En este caso, la forma correcta de proceder, es especificar el método el la clase superior, e implementar el código en cada una de las clases que derivo.
 * El método especificado en la clase superior sería un método sin código, conocido como un método abstracto, y la clase dónde se especifica pasa a ser abstracta


 * Vamos a platear un ejemplo

V