Solo para llenar tu pregunta:
por ende no me queda claro que significa el this lo que hace es llamar al contructor con parametros y pasandole parámetros vacíos??
En el ejemplo que se da en el curso, así es como dices! pero que tal si te digo que el
this tiene mas usos?
Dando un ejemplo sencillo para que comprendas para que sirve el
this y su importancia:
private float diametro;
private float altura;
private String idDeposito;
public Deposito(float diametro, float altura, String idDeposito){
this.diametro = diametro;
this.altura = altura;
this.idDeposito = idDeposito;}
¿Qué hizo el
this aqui?
Lo que hizo el
this fue decirle a java que la variable
diametro, altura e idDeposito eran
variables de clase y no
parametros del constructor.
Como vez, declare los nombres de las variables del parametro del constructor exactamente igual que las variables de clase. Con
this le señalo a java que estas son variables de clase. Analiza este trozo de código... sin
this, que crees que pasaría?... a java le resultaría difícil diferenciar que es una variable de clase y que es un parámetro del constructor.
this tiene mas usos como por ejemplo... el siguiente que veras a continuación (ignora todo el código que escribí aquí, es harina de otro costal, solo quiero que te fijes en el
this):
package ConceptosBasicos;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
public class Bola extends GameObject{
private Handler handler;
public Bola(int x, int y, ID_Objeto id, Handler handler) {
super(x, y, id);
this.handler = handler;
velY = 2;
velX = 2;
}
@Override
public void tick() {
if(x + velX < 0)
velX = 4;
if(x + velX > 400 - 30)
velX = -4;
if(y + velY < 0)
velY = 4;
x += velX;
y += velY;
if(y >= 400){
handler.removerObjeto(this);
}
colision();
}
El primer
this (el que se encuentra en el constructor) realizo la misma función que explique mas arriba, le señalo a java que esta variable
handler (que en este caso, es un
objeto de tipo
LinkedList, cosa que veras mas adelante en este curso) es
de clase y no un
parámetro del constructor.
En el caso este que vez a continuación:
handler.removerObjeto(this);Explicando brevemente, la clase
Bola dibuja una bola (o un objeto) en la pantalla rebotando en los bordes, el método
tick se encarga de mover la bola por la pantalla. Si la posición de la coordenada Y de la bola es mayor a 400 (o si la bolita se sale de la pantalla por la parte inferior), se removerá la bola del juego para ahorrar memoria en la maquina. Aqui entra en juego esta linea "handler.removerObjeto(
this);"
¿Y que se supone que hace el this aqui?
Con eso, le estoy diciendo a java por ejemplo... "Si la bolita se sale por debajo de la pantalla, quiero que elimines
esta bolita".
Conclusiones del uso del this:
El this en java, se puede usa para indicar que vas a utilizar ya sea, una
variable, un
método o un
objeto de clase.
Me parece que ya has pasado o estas a punto de ver el this en el curso (ya no recuerdo la verdad,
), si no lo entendiste o lo asimilasme mas o menos, no te preocupes! te aseguro que cuando termines este curso lo vas a comprender perfectamente