Pokročilý kurz vývoje v Pythonu
Kapitola
>
Úroveň
Pokročilé třídy
Přepisování metody
Cíl
Naplňte lahve olejem, abyste mohli vařit maso vytvořením objektů s přepsanými metodami.
Je tu trochu oleje, který můžete použít k vaření zeleniny; nejprve musí být nalit do lahví pro snadnější použití. Použití tříd a vytváření objektů by byl účinný způsob, jak toho dosáhnout, stejně jako v předchozí úrovni. To znamená, že existují i způsoby, jak efektivněji využít dědění objektů uvnitř třídy, například tím, že třída child přepíše funkce třídy parent.
# Parent Class
class oil_bottle:
label = ""
async def label_bottle(self):
await player.read()
# Child Class
class fill_bottle(oil_bottle):
def fill_bottle(self):
player.place("empty bottle")
player.collect("oilbottle")
async def label_bottle(self):
await player.write(self.label)
Ve výše uvedeném kódu třída child přepisuje funkci label_bottle() z parent třídy pro přepsání štítků na lahvích. To vám také umožňuje nastavit vlastní zprávu pomocí asynchronních funkcí.
Nejdříve seberte všechny čtyři (4) prázdné lahve na poli, poté, co je seberete, jděte k tmavým značením X a vytvořte objekty pomocí tříd.
Existují čtyři (4) typy oleje, které mají být lahvovány, odpovídají barevným kobercům před stroji: olive_oil je lahvován na žlutém koberci, avocado_oil je lahvován na zeleném koberci, canola_oil je lahvován na modrém koberci a vegetable_oil je lahvován na červeném koberci.
Vytvořte objekty pro každý z olejů, napište jejich štítek a aktivujte funkce třídy child label_bottle() a fill_bottle(), například:
olive_oil = fill_bottle() oliver_oil.label = "Olive Oil" oliver_oil.label_bottle() oliver_oil.fill_bottle()
Každý ze štítků by měl obsahovat název oleje s počátečním písmenem velkým, takto: "Olive Oil", "Avocado Oil", "Canola Oil" a "Vegetable Oil".
Jakmile budete mít oleje v lahvích, jděte k jasnému X označení před vakem a použijte funkci collect() pro sebrání "onion" z vaku. Poté jděte ke zlatému X označení a použijte olej k vaření cibule tak, že je uložíte společně do seznamu nazvaného ingredients, například: ingredients = ["Olive Oil", "onion"]. Použijte funkci place() se seznamem k vaření ingrediencí.
Nakonec umístěte zbývající oleje do seznamu nazvaného oils, například: oils = ["Avocado Oil","Canola Oil","Vegetable Oil"]. Jděte k jasnému X označení na fialovém koberci, postavte se ke skříni a použijte funkci place() se seznamem olejů k uložení položek do skříně a dokončení úrovně.