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

Usunięta treść Dodana treść
zamiana ProstaNawigacja->Subst:Naw
Derbeth (dyskusja | edycje)
m lit.
Linia 29:
</source>
 
<tt>@@ilosc</tt> jest zmienną klasową. W konstruktorze klasy <tt>Zwierze</tt> zwiększamy ją o jeden, czyli ''inkrementujemy'' (zmniejszanie o jeden nazywamy ''dekrementacją''). Zapis <tt>@@ilosc += 1</tt> jest równoważny zapisowi <tt>@@ilosc = @@ilosc + 1</tt>. Jak widzimy, każde kolejne utworzenie instancji klasy <tt>Zwierze</tt> powoduje zwiększenie o jeden zmiennej <tt>@@ilosc</tt>.
 
Metoda zdefiniowana jako <tt>self.populacja</tt> jest ''metodą klasową''. Inną metodą tego rodzaju jest np. <tt>new</tt>. Metoda klasowa może być wywołana jedynie na rzecz klasy, nie na rzecz obiektu. W naszym przykładzie równoważną metodą, ale nie klasową, jest metoda <tt>populacja</tt>. Obie zwracają wartość naszej zmiennej klasowej.
 
<noinclude>
<noinclude>{{Nawigacja|Ruby|
[[Ruby/Zmienne globalne|Zmienne globalne]]|
[[Ruby/Zmienne instancji|Zmienne instancji]]|
}}</noinclude>
}}
</noinclude>