Heredar lo compartido: la herencia
Con objetos construiste 'una cosa' (lección 12). Pero haz un perro, un gato, un pájaro como objetos, y nombre, edad, comer se repiten igual una y otra vez. Reunir las partes compartidas en un sitio y dejar que cada uno las herede es la herencia.
Las partes que se repiten
Un perro, un gato, un pájaro pueden ser objetos.
Pero pon los tres juntos,
y nombre, edad, comer entran igual en los tres.
Es escribir lo mismo tres veces.
Cuantas más clases añades, mayor se hace este solapamiento.
Mira perro, gato, pájaro. Las etiquetas repetidas brillan juntas.
El solapamiento se ve a simple vista.
Si reescribes lo mismo en cada objeto,
arreglar uno significa arreglarlos todos a mano.
Entonces, ¿dónde reunimos esta parte común?
Reúne lo común hacia arriba
Sube el nombre, la edad, el comer repetidos
a un solo lugar arriba.
Ahí pones un padre llamado 'Animal'.
Ahora lo común vive solo en Animal.
Perro, gato, pájaro pasan a ser sus hijos abajo.
Toca para reunir lo común arriba. Aparece un padre 'Animal'.
Con lo común reunido en un sitio,
los hijos quedaron mucho más ligeros.
¿Pero ahora los hijos no tienen nombre, edad, comer?
No lo perdieron; lo reciben del padre.
Heredar lo del padre tal cual
Un hijo tiene automáticamente todo lo del padre.
El perro hereda el nombre, la edad, el comer de Animal
sin volver a escribirlos.
Así que el perro ya es un animal completo.
Los recibió; no los copió.
Elige un hijo. Las etiquetas del padre bajan y lo rellenan.
Perro, gato y pájaro
heredaron lo mismo del padre Animal.
Pero si solo son idénticos, no son clases.
Los perros ladran, los pájaros vuelan. ¿Cómo lo añadimos?
Añade lo tuyo sobre lo recibido
Deja lo común heredado tal cual,
y pon lo tuyo encima.
El perro añade 'ladrar', el pájaro 'volar'.
Mismo padre, pero distintos añadidos,
así perro y pájaro se vuelven clases distintas.
Añade la etiqueta propia del hijo. Difiere en color de las heredadas.
Ahora el perro es 'la parte común de Animal + ladrar'.
Lo recibido y lo añadido se hicieron uno.
Lo común en el padre, las diferencias en el hijo.
Gracias a esto, llega un gran beneficio final.
Arregla una vez y todos cambian a la vez
Aquí está el verdadero poder de la herencia.
Añade 'dormir' al padre 'Animal' una vez,
y perro, gato y pájaro pueden dormir de golpe.
Cada hijo cambia a la vez, sin tocarlos uno a uno.
La duplicación se va, y con ella menguan los errores.
Desde los valores construimos 'cosas' con objetos,
y con la herencia ordenamos esas cosas juntas.
Ahora tenemos un programa bastante grande.
Pero un programa siempre falla en algún punto.
Luego aprenderemos a encontrar y arreglar lo que falló.