Variabili locali
"Saluti, mio amato studente! È tempo di prendere un po' più sul serio le variabili. Ma questa volta non discuteremo della loro struttura interna. Ci concentreremo invece su come le variabili interagiscono con il codice in cui si trovano.
"Tutte le variabili dichiarate all'interno dei metodi sono chiamate variabili locali . Una variabile locale esiste solo nel blocco di codice in cui viene dichiarata. O, per essere più precisi, esiste dal momento in cui viene dichiarata fino alla fine del blocco del codice in cui è dichiarato."
"Chiaramente, ho bisogno di un esempio."
"Nessun problema. Ecco qua:
Codice | Disponibilità variabile |
---|---|
|
|
"Esaminiamo ancora una volta le regole per l'accesso alle variabili locali. Ecco un blocco di codice. Cosa ne segna l'inizio e la fine?"
"Parentesi graffe?"
"Esatto. Questo potrebbe essere il corpo di un metodo, il corpo di un ciclo o solo un blocco di codice per un'istruzione condizionale. Una variabile dichiarata in un blocco di codice esiste fino alla fine di quel blocco di codice. Dimmi, dove sarà una variabile esiste se è dichiarata nel corpo di un ciclo?"
"Esisterà solo nel corpo del ciclo."
"Esatto. Inoltre, verrà creato e distrutto a ogni iterazione del ciclo."
"Ciò significa che non puoi dichiarare due variabili locali con lo stesso nome in un metodo: il programma non verrà compilato. Ma puoi farlo se i blocchi di codice in cui sono dichiarate le variabili non si sovrappongono. "
"C'è un motivo per cui sei il mio preferito, Amigo. Prendi un altro esempio per solidificarlo nel tuo cervello.
Codice | Visibilità variabile |
---|---|
|
|
"Siamo stati in grado di dichiarare una seconda variabile locale denominata b
solo perché la prima b
variabile non è visibile nel blocco di codice in cui b
è dichiarata la seconda variabile.
Parametri
"Come abbiamo detto prima, ogni metodo può avere variabili che chiamiamo parametri. E la loro visibilità e durata?"
"Hmm... sono perplesso..."
"Tutto è abbastanza semplice qui. I parametri vengono creati quando l'esecuzione entra nel metodo (cioè quando il codice del metodo inizia l'esecuzione). Vengono eliminati quando il metodo finisce."
"In altre parole, sono visibili in tutto il corpo del metodo e solo lì?"
"Sì. Esempio:
Codice | Visibilità variabile |
---|---|
|
|
"Come abbiamo detto prima, args
è solo una variabile il cui tipo è un array di stringhe. E come tutti i parametri, è disponibile ovunque all'interno del corpo del metodo. Detto questo, di solito lo ignoriamo nei nostri esempi.
Variabili in una classe
"Ricorda le lezioni del Livello 1, dove abbiamo detto che una classe può avere metodi e variabili. I metodi sono talvolta chiamati metodi di istanza e variabili - variabili di istanza o campi.
"Quali sono le variabili (o campi) di una classe ?
Sono variabili dichiarate non in un metodo, ma in una classe."
"E a cosa servono?"
"Per cominciare, è possibile accedervi da qualsiasi metodo (non statico) di una classe. In parole povere, le variabili di istanza sono variabili condivise da tutti i metodi di una classe.
Esempio:
Codice | Visibilità variabile |
---|---|
|
|
"In questo esempio, abbiamo due metodi: add()
e remove()
. Il add()
metodo incrementa le variabili di istanza sum
e count
e il remove()
metodo diminuisce le variabili sum
e count
. Entrambi i metodi funzionano su variabili di istanza condivise."
"Capisco tutto! Le variabili locali esistono mentre un metodo è in esecuzione. Le variabili di istanza di una classe esistono all'interno di un oggetto di una classe finché esiste quell'oggetto."
"Ben fatto, Amigo. Abbiamo gettato le basi e imparerai i dettagli sugli oggetti di una classe nel livello successivo.
Variabili statiche
"Come i metodi, le variabili in una classe possono essere statiche o non statiche. I metodi statici possono accedere solo a variabili statiche.
"Non ho ancora una chiara comprensione delle variabili statiche."
"Oh, lo so, ma non preoccuparti. Per ora, prendi confidenza con loro. Prendi confidenza con loro. Nel Livello 11, analizzeremo la struttura delle variabili e dei metodi statici e capirai le ragioni di questi restrizioni.
"Per creare una variabile statica (variabile di classe), devi scrivere la static
parola chiave nella sua dichiarazione.
"Le variabili statiche non sono legate a un oggetto o a un'istanza della classe in cui sono dichiarate. Appartengono invece alla classe stessa. Ecco perché esistono anche se non è stato creato un singolo oggetto della classe. Puoi fare riferimento a li da altre classi usando un costrutto come:
ClassName.variableName
Esempio:
Codice | Visibilità variabile |
---|---|
|
|
"Nell'esempio precedente, abbiamo creato una Storage
classe separata, abbiamo spostato le variabili count
e sum
al suo interno e le abbiamo dichiarate static . È possibile accedere alle variabili statiche pubbliche da qualsiasi metodo in un programma (e non solo da un metodo)."
"Non capisco bene, ma questo mi sembra comodo."
"Così è. E a volte è necessario. Senza variabili e metodi statici rimarremmo bloccati."
"Spero di riuscire lentamente a capirlo."
"Sì, certo che lo farai."
GO TO FULL VERSION