• Viernes 19 de Abril de 2024, 11:39

Autor Tema:  Uso de this  (Leído 1522 veces)

0skar

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Uso de this
« en: Lunes 16 de Octubre de 2006, 23:48 »
0
Tengo una duda, y es con respecto a una palabra clave utilizado en c#, y es this, bueno, yo se usarlo, y conozco una definicion un tanto compleja, pero lo unico que he logrado entender es que se utiliza como para referirme a un objeto que estoy usando en un determinado momento, como por ejemplo, si quiero asignarle a un boton la funcion de cerrar el form1, entonces me refiero a el como this.close(); pero si me quiero referir a otro form, ahi si ya pongo el nombre del form, como form2.close, entonces quisiera que me pudiesen proporcionar una definicion mas entendible de esa palabra clave, porque yo puedo estarla usando, pero lo haria de forma mecanica, es decir, conociendo la sintaxis pero sin entender lo que hago exactamente.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Uso de this
« Respuesta #1 en: Martes 17 de Octubre de 2006, 17:27 »
0
this es un puntero al objeto actual.

Es decir si estas dentro de la calse Forma1 y haces this.cosa1 te estas referiendo a la variable cosa1 definida dentro de Forma1. siemopre hace referencia al objeto actual.

Es muy util sobre todo cuando un constructor o metodo reciben como parametros variables con el mismo nombre de una variable  que ya esta definida dentro de la clase, ya que sino usas this, ni tu ni el compilador tendrian forma de diferenciarlas.

ejemplo:

Código: Text
  1.  
  2. class Punto
  3. {
  4.     int coordenadaX;
  5.     int coordenadaY;
  6.  
  7.     public Punto(int coordenadaX, int coordenadaY)
  8.    {
  9.       //Forma correcta porque this.coordenadaX hace referencia a la variable
  10.       //declarada dentro de la clase, mientras coordenadaX hace referencia a la
  11.       //variable decalrada dentro del metodo.
  12.       this.coordenadaX = coordenadaX;
  13.      
  14.       //Forma incorrecta porque ambas partes hacen referencia a la variable
  15.       //coordenadaX declarada denrto del metodo
  16.       coordenadaX = coordenadaX;
  17.  
  18.       ...
  19.       ..
  20.       this.coordenadaY = coordenadaY;    
  21.    }
  22. }
  23.  
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

0skar

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Uso de this
« Respuesta #2 en: Miércoles 18 de Octubre de 2006, 16:53 »
0
Muchas gracias por resolver mi duda, pues es algo un tanto frustrante utilizar ciertos comandos y sin saber que es lo que estoy haciendo realmente, me ocurre en otras materias, como fisica y mecanica de solidos, pero al fin considero que no me van a servir tanto, solo como un ejemplo. :smartass:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Uso de this
« Respuesta #3 en: Miércoles 18 de Octubre de 2006, 17:00 »
0
umm pues la evrdad... creo que lo tendras que usar mucho.. si bienopuede que no sea asi en programas muy sencillos, en otros muy elaborados si lo puedes usar bastante.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io