Variabili d'Istanza

Una variabile d'istanza ha un nome che comincia con una@, e la sua visibilità è confinataall'oggetto a cui si riferisce self. A dueoggetti differenti , anche se appartenenti alla stessaclasse, è permesso di avere valori differenti pe rleproprie variabili d'istanza.

Dall'esterno dell'oggetto, le variabili d'istanzanon possono venire ne' alterate ne' osservate(cioè, le variabili d'istanza in ruby non sono maipubbliche) eccetto che dai metodi che sono messiapposta dal programmatore.

Come con le variabili globali, le variabili d'istanzahanno il valore nil finchè non sonoinizializzate .

Le variabili d'istanza in ruby non hanno bisogno didichiarazione. Ciò implica una struttura flessibiledegli oggetti. In effetti, ogni variabile d'istanza vieneaggiunta dinamicamente ad un oggetto la prima volta che le sifa riferimento.

ruby> class InstTest    |   def set_foo(n)    |     @foo = n    |   end    |   def set_bar(n)    |     @bar = n    |   end    | end   nilruby> i = InstTest.new   #<InstTest:0x83678>ruby> i.set_foo(2)   2ruby> i   #<InstTest:0x83678 @foo=2>ruby> i.set_bar(4)   4ruby> i   #<InstTest:0x83678 @foo=2, @bar=4>

Notate che i qui sopra non riporta nessun valoreper @bar finchè non viene invocato ilmetodo set_bar.



Ti potrebbe interessare anche

commenta la notizia