RE:No entiendo que hace \'this\'

lillo
25 de Abril del 2005
Hay alguien que me pueda explicar el uso que tiene this en esta expresion.

Gracias

class punto {
int posX, posY;
punto(posX, posY){
this.posX=posX;
this.posY=posY;
}

Estoyaqui
25 de Abril del 2005
Creo que "this" se refiere a la class en la que estas, es decir es como poner esto:

class punto{
int posX, posY;
punto(posX, posY){
punto.posX=posX;
punto.posY=posY;
}
}

Un saludo

sal00m
25 de Abril del 2005
claro mira eso es facil jejejeje Te explico parte a parte:

Lo primero la declaracion de clase y la declaracion de dos variables... posX y posY, estas variables han sido declaradas como variables de clase y para acceder a ellas puedes poner this.posX o bien posX simplemente.

El "problema" viene cuando has declarado un procedimiento al que le pasas dos parametros que casualmente tienen los mismos nombres, con lo cual el propio compilador se haria un lio si pones posX = posX jejejeje asi que le tienes que indicar que la variable de clase posX se actualice con el valor que le pasas como parametro.

No se si me he explicado, si por ejemplo en lugar de punto(posX,posY){...} hubieses puesto lo siguiente:

punto(pos1,pos2){
posX = pos1;
posY = pos2;
}

En este ejemplo que te he puesto yo como no hay posibilidad de equivocarse ya que solo existe un posX y un posY..... no hace falta acceder con el "this." (aunque tb se podria.

Creo que con esto te quedara claro... de todas maneras si ves que no lo entiendes del todo dimelo jejej

lillo
25 de Abril del 2005
muchas gracias, ahora si que lo he entendido.si necesitas algo , lo q sea mi messenger es este: [email protected].
Venga cuidate y de nuevo gracias....