Zaawansowany kurs programowania w Pythonie
Rozdział
>
Poziom
Zaawansowane klasy
Dziedziczenie obiektów
W tym rozdziale przeanalizujemy, jak maksymalnie wykorzystać klasy, ucząc się różnych technik oraz funkcji specyficznych dla klas, które mogą rozszerzyć możliwości obiektów w Pythonie.
Na tym poziomie poznamy jedną z najbardziej znaczących rozbudowanych cech klas – dziedziczenie obiektów. Ta cecha pozwala nam stworzyć klasę, która dziedziczy funkcje z innej klasy, umożliwiając tworzenie bardziej dynamicznych obiektów, przy jednoczesnym zachowaniu podstawowego zestawu właściwości.

Cel
Napełnij i przechowaj butelki wina używając dziedziczenia obiektowego w swoich klasach.
Ten pokój służy do napełniania butelek wina, niektóre jeszcze muszą zostać zabutelkowane i zapakowane, co najlepiej osiągnąć za pomocą klas. Klasy pozwolą Ci tworzyć obiekty, które mogą posiadać różne cechy, w tym przypadku różne rodzaje butelek wina. Obiekty tworzone z użyciem klas mogą dziedziczyć cechy od innych klas, te nazywane są klasami dzieci, podczas gdy klasy używane jako podstawa do tworzenia kolejnych klas nazywane są klasami rodzicielskimi.
# Parent Class
class wine_bottle:
color = ""
def set_bottle(self):
player.place("empty bottle")
# Child Class
class fill_bottle(wine_bottle):
def fill_bottle(self):
player.combine(["empty bottle", self.color + " wine"])
player.speak("The bottle's color is: %s" % self.color)
player.collect(self.color + "bottle")
Zestawiono dwie (2) klasy do użycia, przy czym klasa rodzicielska służy do umieszczenia butelki przed beczką w celu napełnienia, natomiast klasa dzieci jest używana do łączenia i ustawiania butelki wina. Klasa dzieci dziedziczy właściwości z klasy rodzicielskiej, co pozwala na tworzenie wariantów butelek bez większego wysiłku.
Najpierw idź i zbierz cztery (4) puste butelki znajdujące się na górze mapy. Gdy je zbierzesz, udaj się do ciemnych oznaczeń X na szczycie kolorowych dywaników i ustaw twarz do dozowników beczek. Istnieją cztery (4) kolorowe dywaniki, reprezentujące kolor wina, który musisz stworzyć w danym obszarze, a mianowicie: "green" , "blue" , "purple" oraz "yellow" .
Przy ciemnych oznaczeniach X, utwórz obiekt za pomocą klasy dzieci, na przykład: green_bottle = fill_bottle(). Nazwij obiekt zgodnie z butelką, którą próbujesz stworzyć; po tym ustaw kolor obiektu i aktywuj jego funkcje.
# Green bottle setup green_bottle.color = "green" green_bottle.set_bottle() green_bottle.fill_bottle()
Zrób to dla wszystkich czterech (4) butelek wina przy ich odpowiednich oznaczeniach X. Gdy wszystkie będą gotowe, a butelki zostaną zebrane, idź do jasnego oznaczenia X i otwórz drzwi do piwnicy wina, używając funkcji open(), w ten sposób: player.open(). Następnie udaj się do złotego oznaczenia X, aby przechować stworzone butelki na stojaku na wino.
Umieść wszystkie butelki w liście o nazwie bottles i, stojąc naprzeciwko stojaka na wino, użyj funkcji place() do przechowania listy, aby ukończyć poziom. Zbierałeś cztery (4) butelki: "green bottle" , "blue bottle" , "purple bottle" oraz "yellow bottle" .