seegongsik
Mis palabras
Programación

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.

01

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.

Perro
nombre
edad
comer
Gato
nombre
edad
comer
Pájaro
nombre
edad
comer

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?

02

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.

Perro
nombre
edad
comer
Gato
nombre
edad
comer
Pájaro
nombre
edad
comer

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.

03

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ó.

Animal
nombre · edad · comer
Elige un hijo

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?

04

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.

Animal : nombre · edad · comer
Perro
nombre
edad
comer

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.

05

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.

Animal
nombre
edad
comer
Perro
nombre
edad
comer
Gato
nombre
edad
comer
Pájaro
nombre
edad
comer

Añade una etiqueta nueva al padre. Cada hijo la gana a la vez.

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ó.

En una líneaLa herencia pone la parte común de varios objetos en un 'padre' una sola vez, y los 'hijos' la heredan tal cual, y luego añaden lo suyo. Arregla el padre una vez y cada hijo cambia con él, así desaparece la duplicación y todo queda coherente.
Programación
¿Te fue útil? Apoyar seegongsik