elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  para que funciona this
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: para que funciona this  (Leído 2,891 veces)
darkxxx

Desconectado Desconectado

Mensajes: 85


Ver Perfil
para que funciona this
« en: 21 Julio 2007, 19:33 pm »

bueno saludos he aqui de nuevo  ;D y les queria hacer otra pregunta cual es la funcion de el this porque lo que tengo entendido es para evitar ambiguedades pero no estoy muy seguro y con respecto al siguiente codigo que es lo que retornaria

Código:
class  triangulo {
private double base, altura;
public  triangulo datos(double base, double altura) {
This.base    = base ;
This.altura  = altura ;
return this;
}


public triangulo visualizar( ) {
System.out.println(“Base igual: “+base);
System.out.println(“Altura igual: “+altura);
return this;
}
}

y lo que no entiendo es que si su funcion es evitar ambiguedades porque cuando escribo

base = base;
altura = altura;

no me da ningun tipo de error y yo pensaba que me iba a dar un error en compilacion y que para poder hacer eso necesitaria usar el operador this pero veo que no y me gustaria que alguien me aclarara la duda gracias

saludos


En línea

Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.590


Shrödingerificado


Ver Perfil
Re: para que funciona this
« Respuesta #1 en: 21 Julio 2007, 20:06 pm »

http://java.sun.com/docs/books/tutorial/java/javaOO/thiskey.html


En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
darkxxx

Desconectado Desconectado

Mensajes: 85


Ver Perfil
Re: para que funciona this
« Respuesta #2 en: 21 Julio 2007, 20:17 pm »

exactamente lo que entendi se usa para evitar ambiguedades y tambien para invocar los parametros de la funcion pero ahora mi duda es en esta parte del codigo

This.base    = base ;
This.altura  = altura ;
return this;

que es lo que regresa return this; alli esta principalmente mi duda
En línea

Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.590


Shrödingerificado


Ver Perfil
Re: para que funciona this
« Respuesta #3 en: 21 Julio 2007, 20:33 pm »

this es el objeto en que está el método.

De todas formas, ese código es de lo peor que he visto, entre otras cosas, porque las clases se escriben con mayúsculas y this con minúsculas.

http://www.ccnyddm.com/AdvJava/java_constructor_tutorial.htm
En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
coolfrog


Desconectado Desconectado

Mensajes: 324


Ver Perfil WWW
Re: para que funciona this
« Respuesta #4 en: 22 Julio 2007, 21:41 pm »

this guarda una referencia de la clase donde es utilizada, en vez de crear un nuevo objeto que instancie la clase se usa "this", tambien utilizado para evitar ambiguedades entre variables.
Código
  1. this.base    = base ;
  2. //en vez de eso se puede escribir:
  3. triangulo objeto=new triangulo();
  4. obj.base=base;
  5. //============ y cuando retorna this.
  6. //============ retorna la referencia a la clase
  7.  
Saludos...

En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: para que funciona this
« Respuesta #5 en: 24 Julio 2007, 20:48 pm »

el this hace una referencia al mismo objeto en tu caso ase referencia a Triangulo
xauuuu ;D :xD
En línea

NightZpy

Desconectado Desconectado

Mensajes: 59


"Un ser sin estudio es un ser incompleto"


Ver Perfil
Re: para que funciona this
« Respuesta #6 en: 25 Julio 2007, 05:14 am »

Una ambigüedad es cuando tienes declaradas dos variables del mismo nombre y con el mismo hámbito o alcance, es decir tienes:

Código:

class MyClass
{
         private String x;
         private String x;
}
//eso es un ejemplo de ambigüedad
class MyClass
{
         private String x;
         public String myFuncion(String x)
         {
                 
                  //como igualarias la x global a la clase a la x que solo existe dentro de esta funcion?
                  x=x;//no se sabria x es cual
                  this.x=x;//esto seria como si en tu mente dijera MyClass.x=myFuncion.x
           }
}

Salu2s....
En línea


blackhacking.no-ip.org "Con Server para prácticas" - "La incompetencia en masas es inversamente proporcional al sistema social"
NekroByte


Desconectado Desconectado

Mensajes: 639


Ver Perfil WWW
Re: para que funciona this
« Respuesta #7 en: 28 Julio 2007, 11:21 am »

Código
  1. this.base = base;
  2. this.altura = altura;

checa el código completo y ve:

this.base es la variable base que está al principio de la clase, que pertenece a la clase, y base a secas es el parámetro del método. Las dos variables se llaman igual así que si pones "base = base", ¿cómo sabe el compilador o el programa si te refieres a base del método o base de tu clase?
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines