La herencia entre objetos es un concepto que nos permite definir un nuevo objeto a partir de las cualidades físico-actitudinales (propiedades y métodos) de un segundo más genérico. Esta característica, junto con la de polimorfismo, nos ahorra un tiempo considerable a la hora de crear objetos que guardan similitud con otros.
En el caso del reproductor de CD, podemos optimizar dicha clase y hacerla más escalable creando una nueva y más extensa clase audio_player que resulte apta para la generación de reproductores de casetes, vinilo, minidisc, CD o cualquier otro formato. Con esto en mente, la clase CD_player heredaría las generalidades de la clase audio_player, particularizando la propiedad dispositivo_de_reproduccón a un CD. Si posteriormente deseamos crear un reproductor de vinilo o cualquier otro formato que aún no esté en el mercado, el molde creado seguirá siendo útil.
Polimorfismo
Es una característica de OOP por la cual podemos definir un mismo método en varios objetos, pero cada uno de ellos con distintos comportamientos. Dicho de otro modo, es la posibilidad de codificar métodos con el mismo nombre en clases distintas. En el caso del reproductor de CD que veníamos explicando, podríamos obtener una copia del método play() de un reproductor de VHS. Sin embargo, como el reproductor de CD no posee la aptitud de emitir imágenes, dicha acción debería “ajustarse” a las capacidades específicas del equipo de CD.
Anidación
La anidación de objetos consta de establecer relaciones jerárquicas entre ellos. Según su posición dentro del esquema, sus acciones repercutirán en mayor o menor grado sobre el resto. Dichas relaciones establecen estructuras del tipo “árbol”, donde el último eslabón se transforma en la “hoja” de una serie de “ramas”. Si la hoja se cae, no afectará el resto de la estructura, pero toda rama que se rompa llevará consigo
las ramificaciones que le suceden.
Veamos el caso de la instalación de un nuevo reproductor de CD dentro del dormitorio de un individuo: el equipo de música estará dentro de un cuarto, que a la vez pertenece a una casa, y ésta es parte de un barrio (barrio\casa\cuarto\reproductor_cd).
Si se produce un cortocircuito en el reproductor y se quema su fuente, el hecho no repercutirá ni en el dormitorio, ni en la casa, ni el barrio. Sucede lo contrario si hay un incendio y la casa es consumida por las llamas. Sólo el barrio quedará de pie; tanto el reproductor como el cuarto desaparecerán junto con la casa.