Avancerad Pythonutvecklingskurs
Kapitel
>
Nivå
Avancerade klasser
Metodöverskrivning
Mål
Flaskolja för att laga kött genom att skapa objekt med överskrivna metoder.
Det finns en del olja som du kan använda för att laga vissa grönsaker, men den måste flaskas först för att vara lättanvänd. Att använda klasser och skapa objekt skulle vara en effektiv metod för att åstadkomma detta, precis som i föregående nivå. Det finns även sätt att använda objektärvning inom en klass på ett mer effektivt sätt, exempelvis genom att låta child-klassen överskriva funktioner i parent-klassen.
# 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)
I koden ovan överskriver child-klassen funktionen label_bottle() i parent-klassen för att skriva om etiketterna på flaskorna. Detta gör det också möjligt att ställa in ett anpassat meddelande med async-funktioner.
Börja med att hämta alla fyra (4) tomma flaskor på fältet, och när de har samlats, gå till de mörka X-märkena och skapa objekt med hjälp av klasserna.
Det finns fyra (4) typer av olja som ska flaskas, och de motsvarar de färgade mattorna framför maskinerna: olive_oil flaskas på den gula mattan, avocado_oil flaskas på den gröna mattan, canola_oil flaskas på den blå mattan, och vegetable_oil flaskas på den röda mattan.
Skapa objekt för varje olja, skriv deras etikett och aktivera child-klassens funktioner label_bottle() och fill_bottle(), till exempel:
olive_oil = fill_bottle() olive_oil.label = "Olive Oil" olive_oil.label_bottle() oliv_oil.fill_bottle()
Varje etikett ska innehålla det kapitaliserade namnet på varje olja enligt följande: "Olive Oil", "Avocado Oil", "Canola Oil" och "Vegetable Oil".
När du har flaskat oljorna, gå till det ljusa X-märket framför en säck och använd funktionen collect() för att hämta "onion" från säcken. Därefter, gå till det gyllene X-märket och använd oljan för att laga löken genom att lägga dem tillsammans i en lista som heter ingredients, på följande sätt: ingredients = ["Olive Oil", "onion"]. Använd funktionen place() med listan för att laga ingredienserna.
Slutligen, placera de återstående oljorna i en lista som heter oils, på följande sätt: oils = ["Avocado Oil","Canola Oil","Vegetable Oil"]. Gå till det ljusa X-märket på den lila mattan, vänd dig mot skåpet och använd funktionen place() med olje-listan för att lagra objekten i skåpet och slutföra nivån.