Herencias en JAVA

Herencias en JAVA

Existen dos tipos de herencia sencilla y múltiple. Sencilla significa que sólo heredamos de una clase base, mientras que múltiple indica que tenemos varias clases base (por ejemplo un hidroavión hereda de barco y de avión). Java sólo soporta herencia simple.

Al utilizar la herencia aparecen dos conceptos: super y this, this representa al objeto completo, en cambio super, sólo representa la parte heredada de la clase base.

Cuando se hereda nos encontramos frente a un pequeño problema: ¿Qué sucede cuando se hereda un método de la clase base, el cuál estamos redefiniendo en la clase derivada? Esto es un caso de sobrescritura de métodos. La solución es simple, cuando estemos ejecutando el método de un objeto derivado se llamará al método de su propia clase, es decir el redefinido. Si lo que se quiere es emplear el método de la clase base, hay que emplear una técnica que consiste en usar: super.método().

Los constructores no son heredados, pero sí llamados. Es decir, cuando se construye un objeto de la clase derivada se llama al constructor de la clase derivada, pero antes de comenzar a ejecutarse se llama al constructor de la clase base, que tras ejecutarse continua la ejecución del constructor de la clase derivada.

Se puede elegir qué constructor de la clase base es llamado, generalmente llamando al método super(), que representa al constructor de la clase base, pero al pasar parámetros distintos, seleccionamos qué constructor de la clase base queremos llamar.

Supongamos ahora que tenemos algo que es capaz de encenderse, de apagarse, de iniciar una reproducción, de parar una reproducción, sin duda todos pensamos en un reproductor, pero por esa descripción encajan objetos como reproductor de cassete, reproductor de CD, el vídeo,…

Llamaremos a la descripción interfaz, y los objetos que cumplen ese interfaz (es decir, tienen todas las funciones que definen el interfaz) diremos que implementan el interfaz. Pensemos ahora en el hecho que una persona que sabe iniciar una reproducción de un CD también sabe iniciar una reproducción de vídeo, en ambos casos debe de encender el objeto, iniciar la reproducción, parar la reproducción y apagar el reproductor. Eso significa que para la persona es transparente el tipo (clase) real del objeto reproductor que posea, ya que la persona sabe que puede ponerlo en marcha, apagarlo, sin necesidad de conocer la clase real, tan sólo debe de saber que es un objeto del tipo reproductor.

 

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *