Coding for KidsCoding for Kids
Kreative NivåerUtfordringerLærerveiledning
Stem på funksjoner
Avansert Pythonutviklingskurs
Kapittel
>
Nivå

Avanserte klasser
Metodeoverstyring

Mål

Flask opp olje for å tilberede kjøtt ved å opprette objekter med overstyrte metoder.

Det finnes noe olje du kan bruke til å tilberede noen grønnsaker, men den må først flaskes for enklere bruk. Ved å bruke klasser og opprette objekter vil dette være en effektiv metode for å oppnå målet, på samme måte som i forrige nivå. Når det er sagt, finnes det også måter å utnytte objektarv innenfor en klasse på en mer effektiv måte, for eksempel ved at barn-klassen overstyrer funksjoner i foreldre-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 over overstyrer barn-klassen funksjonen label_bottle() i foreldre-klassen for å skrive om etikettene på flaskene. Dette lar deg også sette en egendefinert melding ved hjelp av async-funksjoner.

For å starte, hent alle fire (4) tomme flasker på banen. Når de er samlet, gå til det mørke X-merket og opprett objekter ved å bruke klassene.

Det finnes fire (4) typer olje som skal flaskes. De tilsvarer de fargede teppene foran maskinene: olive_oil flaskes på det gule teppet, avocado_oil flaskes på det grønne teppet, canola_oil flaskes på det blå teppet, og vegetable_oil flaskes på det røde teppet.

Opprett objekter for hver av oljene, skriv deres etikett og aktiver barn-klassens funksjoner label_bottle() og fill_bottle(), for eksempel:

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

Hver av etikettene skal inneholde det kapitaliserte navnet på hver av oljene som følger: "Olive Oil", "Avocado Oil", "Canola Oil" og "Vegetable Oil".

Når du har flasket oljene, gå til det lyse X-merket foran en sekk og bruk collect()-funksjonen for å hente "onion" fra sekken. Deretter, gå til det gylne X-merket og bruk oljen for å tilberede løken ved å lagre dem sammen i en liste som heter ingredients, slik:

ingredients = ["Olive Oil", "onion"]

Bruk place()-funksjonen med listen for å tilberede ingrediensene.

Til slutt, plasser de gjenværende oljene i en liste som heter oils, slik:

oils = ["Avocado Oil","Canola Oil","Vegetable Oil"]

Gå til det lyse X-merket på det lilla teppet, vend deg mot skapet og bruk place()-funksjonen med oljelisten for å lagre gjenstandene i skapet og fullføre nivået.

Kodebok