Herencia

Es una de las características principales de la POO. En ocasiones se nos darán objetos de la misma naturaleza que compartirán características pero tendrán otras diferentes. En este caso crearemos clases que pueden dar lugar a bastante código repetido, la forma de evitar esto y reutilizar código, es mediante la herencia.

Podemos decir pues que la herencia es un tipo de relación entre clases, en la cual una clase denominada subclase (o clase hija), comparte la estructura y/o comportamiento definidos en una (herencia simple) o más clases (herencia múltiple), llamadas superclases (o clase padre o clase base).

Una subclase añade sus propios atributos y métodos a los de la superclase, por lo que generalmente es mayor que esta y representará a un grupo menor de objetos.

Tenemos dos tipos:

  • Herencia de implementación: herencia simple en la que reutilizamos código.

  • Herencia de interfaz: la clase hija heredará una lista de propiedades y métodos vacíos para que su codificación sea personalizada.

Los objetos están vinculados por relaciones. Normalmente tendremos objetos de una clase que sean subclases de otras clases porque dichas clases tendrán propiedades comunes. Por ejemplo, en la imagen siguiente tanto la clase Alumno como la clase Profesor son subclases de la clase Persona porque comparten propiedades comunes y a su vez tienen propiedades y comportamientos propios que las hacen diferentes entre sí.

Ejemplo de relación entre objetos

El objeto Profesor "hereda" las propiedades y los comportamientos de la clase base o padre Persona (Profesor "es una" Persona). Si Persona tiene una propiedad que es DNI y un comportamiento que es "actualizarDNI", tanto el Profesor como el Alumno dispondrán de esa propiedad y comportamiento. Inclusive, podremos añadir sus propios atributos y comportamientos de forma independiente.

results matching ""

    No results matching ""