Cargando



Java - Palabra Reservada Super

En este tutorial veremos cómo utilizar la palabra reservada super en nuestros programas hechos en Java.


jul 19 2014 23:15
Intermedio
jul 21 2014 16:06
El sistema de herencia en Java es bastante poderoso, de hecho es una referencia para otros lenguajes orientados a objetos, una de las dudas más comunes que pasan por nuestras mentes una vez que ya andamos en las profundidades del desarrollo en Java, es si podemos utilizar los métodos de las clases padre a través de las instancias o en los mismos métodos de las clases que heredan.

La respuesta es sí, de hecho es una de las cosas que se tuvieron en mente y que cuenta con una forma en particular de realizarse y es lo que veremos a continuación.

Palabra Reservada super
Así como podemos utilizar la palabra reservada this para referirnos a elementos del mismo ámbito del objeto, también tenemos algo que nos puede ayudar a acceder a los atributos y métodos de las clases padre o superclases, y es la palabra reservada super, con ella podemos invocar ya sea desde una instancia o un método de la subclase algo que venga de la clase desde la que hereda.


Invocar al Constructor


Uno de los usos más frecuentes que le damos a la palabra super, es poder invocar al constructor de la superclase, con ello podemos reducir la cantidad de código que debemos escribir en nuestras clases hijas, veamos el siguiente código en la imagen:

java_palabra_reserv_super.jpg


Aquí vemos el constructor de la clase circulo, vemos que recibe algunos argumentos, si no utilizamos la palabra super dentro del mismo, deberíamos hacer las asignaciones correspondientes de sus atributos, sin embargo esto es innecesario ya que la clase padre o superclase lo ha hecho, por ello al invocar con la palabra super y pasarle los argumentos necesarios invocaremos a su constructor.

Precauciones
Es así de fácil, aunque debemos tener algunas precauciones y conocimiento de cómo funciona, lo primero es que cuando llamamos a super dentro de nuestro constructor, debemos llamarlo de primero, es decir, no debe haber ninguna otra instrucción, luego dependiendo de si le pasamos argumentos o no es al constructor que llamará, por ello también hay que tener en cuenta la sobrecarga de constructores.


El constructor de la clase padre es lo único que no heredamos cuando creamos una subclase, es por ello que la única forma de acceder a dichos constructores es a través de esta palabra reservada.

Invocar los Métodos


No solo podemos invocar los constructores, también podemos invocar métodos directamente desde la superclase, claro es posible que pensemos si realmente es necesario ya que heredamos dichos métodos, pero cuando debemos sobrescribir un método entonces es donde esto toma mayor relevancia. Veamos el siguiente ejemplo:


java_palabra_reserv_super2.jpg


A pesar que podemos invocar el método sin agregar la palabra super, si en nuestra clase tuviéramos un método con el mismo nombre no podríamos acceder al de la superclase, por ello es que es importante y necesario, como vimos en el ejemplo.

Ya tenemos una herramienta con la cual podemos obtener los diferentes elementos de las clases de las cuales heredamos, dando la oportunidad así de generar mejores funcionalidades.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X