Variabili definite all'interno di una dichiarazione Method () all'interno di Define Class ()?In Function () è possibile dichiarare variabili locali. Ma quando si tratta di un Method () all'interno di una Define Class (), non sembra esserci una disposizione per le variabili locali transitorie nell'ambito del metodo.
Ciò significa che le variabili dichiarate all'interno di un metodo () sono persistenti e visibili al di fuori della classe?
Ri: Variabili definite all'interno di una dichiarazione Method () all'interno di Define Class ()?Non puoi usare la funzione Local () all'interno di un metodo?
Ri: Variabili definite all'interno di una dichiarazione Method () all'interno di Define Class ()?Può essere. Quando avvolgo il contenuto del metodo in Local (), non riesce, ma potrei provare lo spazio dei nomi qualificando tutte le variabili a livello di classe.
In realtà, ho fatto un esperimento (avrei dovuto provare prima di chiedere), e sembra che le variabili dichiarate all'interno di un metodo non siano riferibili all'esterno, anche con il prefisso dello spazio dei nomi. Quindi mi sembra che siano automaticamente locali al metodo, se non diversamente specificato.
Su una domanda più ampia, cosa faresti per avere l'equivalente di una variabile "privata". Supponiamo che tu voglia rendere accessibile una variabile di classe solo tramite un metodo Get?Ri: Variabili definite all'interno di una dichiarazione Method () all'interno di Define Class ()?No, intendevo usare Local () all'interno del metodo.
Penso che tu abbia risposto alla tua domanda: usa i metodi getter e setter per gestire l'accesso e il controllo delle proprietà dell'istanza o della classe.
Ri: Variabili definite all'interno di una dichiarazione Method () all'interno di Define Class ()?Bene, ho capito. Ho una situazione in cui alcune espressioni assegnano variabili metodo-locali ai calcoli che coinvolgono variabili a livello di classe. Penso che se dovessi usare Local (), aggiungerei semplicemente tutte le variabili a livello di classe all'interno della clausola Local con "this:"
Tuttavia, in base al mio esperimento, questo potrebbe non essere necessario comunque. Stavo solo cercando di capire cosa fosse visibile dove.Ri: Variabili definite all'interno di una dichiarazione Method () all'interno di Define Class ()?Mi sto avvicinando alla comprensione, ma puoi aiutarmi con altre due cose?
(1) Variabile di classe vs. variabile di istanza: JSL ha questa distinzione e, in tal caso, come faccio a creare una variabile l'una o l'altra?
(2) Variabili di istanza privata vs. pubblica: JSL ha questa distinzione e, in tal caso, come posso rendere privata una variabile?
Per quanto riguarda il n. 2, posso certamente implementare Get / Set su variabili, ma non riesco a capire come impedire l'accesso diretto alla variabile.
Può darsi che il modello di classe JSL non abbia queste distinzioni, il che va bene, ma sto solo cercando di farmelo capire.
Ri: Variabili definite all'interno di una dichiarazione Method () all'interno di Define Class ()?Ammetto di aver risposto prima senza guardare di nuovo le classi JSL. Non li ho più studiati o usati da quando sono stati introdotti per la prima volta. Mi scuso per qualsiasi confusione.
Come indicato nella documentazione, non ci sono membri, metodi o funzioni privati. Non trovo alcun modo per dichiarare proprietà private.
No, JMP non fornisce variabili di classe e di istanza separate.