Foros del Web » Programación para mayores de 30 ;) » Java »

Duda this

Estas en el tema de Duda this en el foro de Java en Foros del Web. Wenas!, me gustaria saber que significa el this despues de la clase, os copio el codigo para que se entienda mejor, lo que pregunto esta ...
  #1 (permalink)  
Antiguo 05/09/2010, 13:28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Duda this

Wenas!, me gustaria saber que significa el this despues de la clase, os copio el codigo para que se entienda mejor, lo que pregunto esta en negrita.

public class Lista implements Vectorizador {
private Object inf;
private Lista sig;

public Lista(Object e) {
inf=e;
//sig=null;
}

public void añade(Object e) {
Lista aux=buscaFinal();
Lista aux1=new Lista(e);
aux.sig=aux1;
}

private Lista buscaFinal() {
Lista aux=this;
while (aux.sig!=null)
aux=aux.sig;
return aux;
}

public Iterator iterator() {
return new IteratorParaLista();
}

private class IteratorParaLista implements Iterator {
private Lista aux;

public IteratorParaLista() {
aux=Lista.this;
}


public Object next() {
if (!hasNext()) return null;
Object resp=aux.inf;
aux=aux.sig;
return resp;
}

public boolean hasNext() {
return aux!=null;
}

public void remove() {}
}

public int tamaño() {
int n=0;
for (Iterator it=this.iterator(); it.hasNext(); it.next())
n++;
return n;
}

public Object esimo(int k) throws Exception {
if (0<=k && k<this.tamaño()) {
int i=0;
Iterator it;
for(it=this.iterator(); it.hasNext() && i<k; it.next())
i++;
return it.next();
}
else throw new Exception();
}

Salu2

Gracias de antemano!
  #2 (permalink)  
Antiguo 05/09/2010, 14:58
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Duda this

Normalmente this hace referencia a la clase en la que esta.
  #3 (permalink)  
Antiguo 05/09/2010, 15:30
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 4 meses
Puntos: 188
Respuesta: Duda this

Uy, cuando dijiste clase se te olvido anteponer "instancia de la .. ".

Es decir, this referencia al objeto de una clase con la que se está trabajando.
  #4 (permalink)  
Antiguo 05/09/2010, 15:43
 
Fecha de Ingreso: septiembre-2010
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Duda this

Cita:
Iniciado por Fuzzylog Ver Mensaje
Uy, cuando dijiste clase se te olvido anteponer "instancia de la .. ".

Es decir, this referencia al objeto de una clase con la que se está trabajando.

Pero entonces que significa? Lista.this; a que hace referencia?, como puede igualar la clase a un objeto? no me aclaro :S
  #5 (permalink)  
Antiguo 05/09/2010, 16:03
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 4 meses
Puntos: 188
Respuesta: Duda this

Como bien dice:

private Lista aux;

y luego:

aux=Lista.this;

Esto quiere decir que aux debe ser un objeto de la clase Lista, y como tienes el método en la propia clase, pues tienes que referirte dentro de ella a ese objeto, de ahí lo de: "Lista.this"
  #6 (permalink)  
Antiguo 05/09/2010, 17:23
 
Fecha de Ingreso: septiembre-2010
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Duda this

Cita:
Iniciado por Fuzzylog Ver Mensaje
Como bien dice:

private Lista aux;

y luego:

aux=Lista.this;

Esto quiere decir que aux debe ser un objeto de la clase Lista, y como tienes el método en la propia clase, pues tienes que referirte dentro de ella a ese objeto, de ahí lo de: "Lista.this"
Entonces es como una instancia e la clase Lista no?

Muchas gracias!!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:17.