Qué es la herencia en programación
Con los objetos creamos "una cosa" (lección 12). Pero si haces un perro, un gato y un pájaro como objetos, el nombre, la edad y el comer se repiten una y otra vez igual. La herencia consiste en reunir esas partes comunes en un solo lugar y hacer que cada uno las herede.
Partes que se repiten
Un perro, un gato y un pájaro se pueden crear como objetos.
Pero si los pones uno al lado del otro, el nombre, la edad y el comer aparecen en los tres exactamente igual.
Es como escribir lo mismo tres veces, y cuantos más tipos añades, más crece esa repetición.
Pulsa "ver lo repetido" y las etiquetas comunes del perro, el gato y el pájaro se iluminan a la vez.
Las partes repetidas se ven de un vistazo.
Si vuelves a escribir lo mismo en cada objeto, al arreglar una cosa tienes que arreglarlas todas, una por una.
Entonces, ¿dónde conviene reunir estas partes comunes?
Subir las partes comunes
Se suben el nombre, la edad y el comer repetidos a un solo lugar de arriba.
Ahí se pone un padre llamado "animal".
Ahora las partes comunes solo están en animal, y el perro, el gato y el pájaro pasan a ser sus hijos, debajo.
Pulsa "subir lo común" y las etiquetas repetidas suben y forman un solo padre, "animal".
Al reunir lo común en un solo lugar, los hijos quedan mucho más ligeros.
Pero ¿los hijos ya no tienen nombre, edad ni comer?
No han desaparecido: los reciben del padre.
Heredar lo que tiene el padre
Un hijo tiene automáticamente todo lo que tiene el padre.
El perro hereda el nombre, la edad y el comer de "animal" sin volver a escribirlos.
Así que el perro ya es un animal hecho y derecho. Lo recibió; no lo copió.
Elige un hijo y las etiquetas del padre bajan y lo completan tal cual.
El perro, el gato y el pájaro heredaron lo mismo de su padre, animal.
Pero si los tres fueran idénticos, no serían tipos distintos.
El perro ladra y el pájaro vuela, así que ¿cómo se añade algo así?
Añadir lo propio sobre lo heredado
Lo común heredado se deja tal cual, y encima se pone lo propio.
El perro añade "ladrar" y el pájaro añade "volar".
Tienen el mismo padre, pero lo que añaden es distinto, así que el perro y el pájaro se vuelven tipos diferentes.
Pulsa "añadir lo propio" y el hijo recibe una etiqueta suya, de otro color que las heredadas.
Ahora el perro es "lo común de animal + ladrar".
Lo recibido y lo añadido forman un solo cuerpo.
Lo común en el padre, las diferencias en el hijo. Gracias a esta estructura, llega una última gran ventaja.
Lo arreglas una vez y cambian todos
Aquí está el verdadero poder de la herencia.
Si añades "dormir" al padre, animal, el perro, el gato y el pájaro pueden dormir de golpe.
Todos cambian sin que tengas que arreglar cada hijo, y como desaparece la repetición, también bajan los errores.
Partiendo de los valores, creamos "cosas" con los objetos y las ordenamos con la herencia.
Ya tenemos en la mano un programa bastante grande.
Pero los programas siempre fallan en algún punto, así que en la próxima lección aprenderemos a encontrar y arreglar lo que falla.