Ruby/Klasy: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
Szymon wro (dyskusja | edycje) Nie podano opisu zmian |
Szymon wro (dyskusja | edycje) Nie podano opisu zmian |
||
Linia 5:
W terminologii programowania obiektowego kategoria obiektów takich jak "pies" nazywana jest klasą, natomiast pewien specyficzny obiekt należący do klasy nazywany jest instancją tej klasy.
Zazwyczaj, by utworzyć jakiś obiekt w Rubim lub w każdym innym języku obiektowym, najpierw należy zdefiniować pewne cechy charakterystyczne klasy, a następnie utworzyć jej instancję. By zilustrować ten przykład, zdefiniujmy prostą klasę <tt>
<pre>
ruby> class
| def
| puts "
| end
| end
Linia 18:
W Rubim, definicja ''klasy'' jest regionem kodu pomiędzy słowami kluczowymi <tt>class</tt> i <tt>end</tt>. Słowo kluczowe <tt>def</tt> wewnątrz tego regionu rozpoczyna definicję ''metody'' danej klasy, która, jak omówiliśmy w [[Ruby/Metody|poprzednim rozdziale]], odpowiada pewnemu specyficznemu zachowaniu obiektów tej klasy.
Teraz, jak już zdefiniowaliśmy klasę <tt>
<pre>
ruby>
#<Dog:0xbcb90>
</pre>
Utworzyliśmy nową instancję klasy <tt>
<pre>
ruby>
Hau hau
nil
</pre>
Tworzenie nowej instancji jest czasem zwane ''instancjonowaniem'' klasy. Potrzebujemy mieć jakiegoś psa nim będziemy mogli doświadczyć przyjemności rozmowy z nim. Nie możemy po prostu poprosić klasy <tt>
<pre>
ruby>
ERR: (eval):1: undefined method `
</pre>
Linia 45:
<pre>
ruby> (
Hau hau
nil
</pre>
"Zaraz", powiesz, "o co chodzi z tym biednym kolegą, co zniknie za chwilę?" To prawda. Jeżeli nie dbasz o to, by dać mu imię (tak jak daliśmy imię psu <tt>
<noinclude>
{{ProstaNawigacja|spis=Ruby|poprzart=Ruby/Metody|poprz=Metody|nastart=Ruby/Dziedziczenie|nast=Dziedziczenie}}
|