¿Variables definidas dentro de una declaración Method() dentro de Define Class()?En Function() puede declarar variables locales. Pero cuando se trata de un método () dentro de una clase definida (), no parece haber una disposición para las variables locales transitorias dentro del alcance del método.
¿Significa eso que las variables declaradas dentro de Method() son persistentes y visibles fuera de la clase?
Re: ¿Variables definidas dentro de una declaración de método () dentro de una clase definida ()?Admito que respondí antes sin volver a mirar JSL Classes. No los he estudiado ni usado desde que se introdujeron por primera vez. Me disculpo por cualquier confusión.
Como dice la documentación, no hay miembros privados, métodos o funciones. No encuentro ninguna forma de declarar propiedades privadas.
No, JMP no proporciona variables de clase e instancia separadas.
Re: ¿Variables definidas dentro de una declaración de método () dentro de una clase definida ()?Estoy cada vez más cerca de entender esto, pero ¿pueden ayudarme con un par de cosas más?
(1) Variable de clase frente a variable de instancia: ¿tiene JSL esta distinción y, de ser así, cómo convierto una variable en una u otra?
(2) Variables de instancia privadas frente a públicas: ¿JSL tiene esta distinción y, de ser así, cómo hago que una variable sea privada?
Con respecto al n. ° 2, ciertamente puedo implementar Get/Set en variables, pero no puedo encontrar la manera de evitar el acceso directo a la variable.
Puede ser que el modelo de clase JSL no tenga estas distinciones, lo cual está bien, pero solo estoy tratando de aclarar esto en mi mente.
Re: ¿Variables definidas dentro de una declaración de método () dentro de una clase definida ()?Correcto, entiendo. Tengo una situación en la que algunas expresiones asignan variables locales de método a cálculos que involucran variables de nivel de clase. Creo que si tuviera que usar Local(), prefijaría todas las variables de nivel de clase dentro de la cláusula Local con "esto:"
Pero de todos modos, según mi experimento, esto puede no ser necesario de todos modos. Solo estaba tratando de tener una idea de lo que era visible y dónde.Re: ¿Variables definidas dentro de una declaración de método () dentro de una clase definida ()?No, quise decir usar Local() dentro del método.
Creo que respondió a su propia pregunta: use métodos getter y setter para administrar el acceso y el control de las propiedades de instancia o clase.
Re: ¿Variables definidas dentro de una declaración de método () dentro de una clase definida ()?Tal vez. Cuando envuelvo el contenido del método en Local(), falla, pero podría intentar calificar el espacio de nombres para todas las variables de nivel de clase.
En realidad, hice un experimento (debería haberlo intentado antes de preguntar), y parece que las variables declaradas dentro de un método no son referenciables fuera, incluso con el prefijo de espacio de nombres. Entonces me parece que son automáticamente locales para el método, a menos que se especifique lo contrario.
En una pregunta más amplia, ¿qué haría para tener el equivalente de una variable "privada"? Digamos que desea hacer que una variable de clase sea accesible solo a través de un método Get.Re: ¿Variables definidas dentro de una declaración de método () dentro de una clase definida ()?¿No puedes usar la función Local() dentro de un método?