RE:No entiendo que hace \'this\'
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;
}
Gracias
class punto {
int posX, posY;
punto(posX, posY){
this.posX=posX;
this.posY=posY;
}
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
class punto{
int posX, posY;
punto(posX, posY){
punto.posX=posX;
punto.posY=posY;
}
}
Un saludo
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
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
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....
Venga cuidate y de nuevo gracias....
