Ruby/Zmienne instancji: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Szymon wro (dyskusja | edycje)
Nie podano opisu zmian
Sblive (dyskusja | edycje)
Linia 1:
== Zmienne instancji ==
 
Zmienna instancji ma nazwę zaczynającą się znakiem <tt>@</tt>, a jej zasięg zasięg ograniczony jest tylko do obiektu wskazywanego przez <tt>self</tt>. Dwa różne obiekty, nawet jeśli należą do tej samej klasy, mogą mieć różne wartości swoich zmiennych instancji. Na zewnątrz obiektu zmienne instancji nie mogą być zmienione, ani nawet odczytane (zmienne instancji w Rubim nigdy nie są publiczne), chyba że za pośrednictwem metod wyraźnie dostarczonych przez programistę (lub instrukcji odczytywania i zapisu atrybutow - attr_reader i attr_writer). Tak jak zmienne globalne, zmienne instancji mają wartość <tt>nil</tt> dopóki nie zostaną zainicjalizowane.
 
Zmienne instancji nie muszą być zadeklarowane. Wskazuje to na elastyczną strukturę obiektu. W rzeczywistości, każda zmienna instancji jest dynamicznie dołączana do obiektu w czasie pierwszego przypisania jej wartości.