Coding for KidsCoding for Kids
Kreatív SzintekKihívásokTanári Útmutató
Szavazzon a funkciókra
Fejlett Python fejlesztési tanfolyam
Fejezet
>
Szint

Haladó osztályok
Metódus felülírás

Célkitűzés

Palackozd az olajat, hogy húst főzhess fel objektumok létrehozásával, melyek felülírják a metódusokat.

Van egy kis olaj, amivel zöldségeket főzhetsz, de először palackozni kell, hogy könnyebb legyen a használata. Az osztályok használata és objektumok létrehozása hatékony módszer ennek elérésére, hasonlóan az előző szinthez. Azonban léteznek még hatékonyabb módok is az objektumöröklődés kihasználására egy osztályon belül, például amikor a gyerek osztály felülírja a szülő osztály függvényeit.

# 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)

A fenti kódban a gyerek osztály felülírja a label_bottle() függvényt a szülő osztályban, hogy újraírja a palackok címkéit. Ez lehetővé teszi, hogy aszinkron függvények használatával egyedi üzenetet állíts be.

Kezdetnek gyűjtsd össze a pályán található négy (4) üres palackot, majd miután összegyűjtötted őket, sétálj a sötét X jelhez, és hozz létre objektumokat az osztályok segítségével.

Négy (4) típusú olajat kell palackozni, melyek megfelelnek a gépek előtt található színes szőnyegeknek: az olive_oil-t a sárga szőnyegen, az avocado_oil-t a zöld szőnyegen, a canola_oil-t a kék szőnyegen, és a vegetable_oil-t a piros szőnyegen palackozzuk.

Hozz létre objektumokat az egyes olajokhoz, írd ki a címkéiket, és aktiváld a gyerek osztály label_bottle() és fill_bottle() függvényeit, például:

olive_oil = fill_bottle() olive_oil.label = "Olive Oil" olive_oil.label_bottle() olive_oil.fill_bottle()

Minden címkének az olajok nevét nagy kezdőbetűvel kell tartalmaznia, az alábbiak szerint: "Olive Oil", "Avocado Oil", "Canola Oil" és "Vegetable Oil".

Miután palackoztad az olajokat, sétálj a zsák előtt lévő világos X jelhez, és használd a collect() függvényt az "onion" begyűjtéséhez a zsákból. Ezután sétálj az arany X jelhez, és az olajat használd a hagyma főzéséhez úgy, hogy egy ingredients nevű listában tárolod őket, például így: ingredients = ["Olive Oil", "onion"]. Használd a place() függvényt a lista felhasználásával az összetevők főzéséhez.

Végül helyezd a fennmaradó olajokat egy oils nevű listába, például így: oils = ["Avocado Oil","Canola Oil","Vegetable Oil"]. Sétálj a lila szőnyegen lévő világos X jelhez, fordulj a szekrény felé, és használd a place() függvényt az olajokat tartalmazó lista segítségével, hogy az elemeket a szekrényben tárold, ezzel befejezve a szintet.

Kódkönyv