Pregunta: | 61812 - THIS, CON HERENCIA |
Autor: | Chango ska |
Hola amigos, resulta que estuve realizando unos ejercicios con gráficos en java, y en un ejemplo que me encontré en un libro aparecía el siguiente código: import java.awt.Frame; public class CreaVentana{ public static void main(String args[]){ Ventana v = new Ventana ("Nueva ventana", 30, 80, 400, 250); } } class Ventana extends Frame{ public Ventana(String titulo, int x, int y, int ancho, int alto){ super(titulo); this.setBounds(x,y,ancho,alto); this.setVisible(true); } } la verdad todo me queda muy claro excepto una cosa, la forma en que maneja el this, yo lo había usado para acceder desde un método a las variables de instancia (atributos de la clase), pero en este ejemplo me resulta mas lógico utilizar la palabra super en lugar de this debido a que según entiendo esta llamando a los métodos de la superclase, en este caso Frame. Hice el cambio en el código para ver si me marcaba algún error de compilación o ejecución y resulto que todo fue de maravilla y me funciono perfectamente utilizando mi codigo de la siguiente manera: import java.awt.Frame; public class CreaVentana{ public static void main(String args[]){ Ventana v = new Ventana ("Nueva ventana", 30, 80, 400, 250); } } class Ventana extends Frame{ public Ventana(String titulo, int x, int y, int ancho, int alto){ super(titulo); super.setBounds(x,y,ancho,alto); super.setVisible(true);; } } Por este motivo me gustaría saber la causa del porque los dos códigos se comportan de la misma manera y cual es la funcionalidad de utilizar la palabra reservada this cuando se esta utilizando la herencia. Saludos y de antemano muchas gracias. |