Ruby/Zmienne klasowe: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
Zdzichobot (dyskusja | edycje) zamiana ProstaNawigacja->Subst:Naw |
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>
|