Dos principios de programación orientada a objetos (lee sobre la abstracción aquí y la encapsulación aquí), ¡faltan dos más! Hoy vamos a echar un vistazo a la herencia. En comparación con la abstracción y la encapsulación, la herencia es un poco más sencilla (en mi opinión personal).
Al igual que con los otros principios de la programación orientada a objetos, la herencia está destinada a optimizar el trabajo de los programadores. El papel que juega la herencia en esta optimización es permitir a los ingenieros de software crear jerarquías de clases, donde las clases y los objetos heredan propiedades y comportamientos de su clase padre (o super). Una clase que hereda de una clase padre (o super) se llama subclase o clase hija, y los objetos que reciben propiedades y comportamientos de un padre a través de la herencia se denominan objetos hijos.
¿Cómo es esto útil? Una gran parte de la utilidad de la herencia es la reutilización. Voy a utilizar Noé y el arca como ejemplo. Para aquellos que no estén familiarizados con la historia, la Tierra está amenazada por una inundación mundial y Noé construye un arca para almacenar dos de cada animal terrestre de la Tierra para que sobrevivan a la tormenta. Supongamos que Noé quiere utilizar un programa informático que le ayude a llevar la cuenta de todos los animales del arca y sus distintas necesidades.