2012-05-05 9 views

risposta

7

Una variabile locale del metodo è una variabile locale dichiarata nell'ambito di un metodo.

Di conseguenza, una variabile locale non-metodo deve essere una variabile con un ambito più ampio, come l'ambito della classe.

Non si può dire con certezza perché si possa dire che sono problematici. Forse è semplicemente dovuto al fatto che introducono uno stato mutabile negli oggetti.

+3

Quanto più è piccolo l'ambito della variabile tanto meno è probabile che lo si incasini. – ziggystar

+0

Le variabili locali del metodo sono referenzialmente trasparenti dall'esterno del metodo, il che significa che non possono causare problemi in nessuna parte al di fuori del metodo. –

+0

Quindi le vars locali non di metodo sono campi. O altri ci sono altri tipi di variabili che sono non-metodo-locali? –

3

Il problema con le unità locali non di metodo è che introducono stati mutabili in una classe/oggetto. Questo è qualcosa che dovresti evitare ovunque tu possa, perché scala è anche un linguaggio funzionale. (In linguaggi funzionali puri come le variabili Haskell sono vietati.) Queste variabili iniziano a produrre ancora più problemi quando inizi a lavorare in parallelo.

+0

Ho accettato la risposta di aioobe per la definizione, ma sono d'accordo con la tua per il problema! –

+0

Sì, la sua definizione è buona. –

Problemi correlati