November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Przedefiniowując metodę w subklasie, chcemy jedynie rozszerzyć lub „udekorować” zachowanie superklasy, bez jego totalnego przedefiniowywania.
Wywołanie implementacji bieżącej metody w superklasie osiąga się za pomocą słowa kluczowego super.
Słowo super bez argumentów powoduje wywołanie wspomnianej metody z argumentami powielonymi z bieżącego wywołania (w subklasie). Oto klasa Receptura definiująca (między innymi) metodę przygotuj_jedzenie.
class Receptura
#
# ... pozostałe elementy definicji klasy Receptura
#
def przygotuj_jedzenie(kuchenka, czas_gotowania)
garnek = przygotuj_produkty
kuchenka << garnek
wait_for(czas)
return garnek
end
end
W poniższej subklasie modyfikujemy nieznacznie ...