Comunidad Gambas-es
Parámetro de clase y parámetro de función con el mismo nombre. - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: General (https://gambas-es.org/forum-4.html)
+--- Tema: Parámetro de clase y parámetro de función con el mismo nombre. (/thread-2006.html)



Parámetro de clase y parámetro de función con el mismo nombre. - guizans - 24-01-2026

Hola a todos.

En otros lenguajes, como en Java, existe la palabra clave "this" para diferenciar una variable de clase a una variable de método con el mismo nombre. ¿En Gambas hay algo por el estilo?
Código:
Private valor as Integer

Public Sub Main()

metodo1(34)

End

Private metodo1(valor as integer)

valor = valor

End

Lo que hago en este caso es lo lógico, llamar las variables de distinta forma, o añadir el símbolo dólar al principio de la variable de clase. ¿Se puede hacer igual que en Java, por ejemplo?

Un saludo.


RE: Parámetro de clase y parámetro de función con el mismo nombre. - Shordi - 25-01-2026

Sintácticamente no ocurren grandes catástrofes: El compilador te da un warning. Algo así como "Variable Global ocultada por declaración local: <variable>" y el programa parece funcionar, pero al hacer eso "inutilizas", al menos en el ámbito de la función local, la variable Global.


Saludos


RE: Parámetro de clase y parámetro de función con el mismo nombre. - guizans - 25-01-2026

Si lo se, lo probé, y la variable local oculta la global. Por eso preguntaba si en Gambas hay alguna forma de diferenciarlas, pero por lo que he estado viendo no lo hay. No pasa nada, era solo por curiosidad.

Un saludo.


RE: Parámetro de clase y parámetro de función con el mismo nombre. - Rufs - 27-01-2026

Olá, por acaso não seria o "me.valor=valor".
creio que diferenciar com símbolos seja estratégico.


RE: Parámetro de clase y parámetro de función con el mismo nombre. - guizans - 27-01-2026

Hola Rufs.

Ya lo intenté, es más, fui lo primero que pensé, ya que "Me" hace referencia a la clase, así que parece lógico, pero no funciona, me marca error.

Un saludo.


RE: Parámetro de clase y parámetro de función con el mismo nombre. - Shordi - 28-01-2026

A mí me parece que, aunque se pudiese, es una muy mala política. Confusa, generadora de errores y dificilísima de depurar al cabo de un tiempo...


RE: Parámetro de clase y parámetro de función con el mismo nombre. - guizans - 28-01-2026

No te digo que no, pero se que en Java se puede y se utiliza. No se hasta que punto puede generar errores, ya que la variable del método muere con el, y la que de verdad importa es la variable de clase. Supongo que es una forma de no tener que inventarse nuevos nombres. No lo se.

Un saludo.