Coding for KidsCoding for Kids
Luovat TasotHaasteetOpettajan Opas
Äänestä ominaisuuksia
Edistynyt Python-kehityskurssi
Luku
>
Taso

Edistyneet luokat
Metodin ylikirjoitus

Tavoite

Pullota öljy valmistaaksesi lihaa luomalla objekteja, joissa on ylikirjoitettuja menetelmiä.

On öljyä, jota voit käyttää vihannesten valmistamiseen, mutta se täytyy ensin pullottaa, jotta käyttö olisi helpompaa. Luokkien ja objektien luominen olisi tehokas tapa saavuttaa tämä, aivan kuten edellisellä tasolla. On kuitenkin myös tapoja hyödyntää objektiperintää luokassa tehokkaammin, esimerkiksi antamalla child-luokan ylikirjoittaa parent-luokan funktiot.

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

Yllä olevassa koodissa child-luokka ylikirjoittaa parent-luokan funktion label_bottle() uudelleen kirjoittaakseen pullojen etiketit. Tämä mahdollistaa myös mukautetun viestin asettamisen käyttäen async-funktioita.

Aloita keräämällä kaikki kentältä löytyvät neljä (4) tyhjää pulloa, ja kun olet kerännyt ne, kävele pimeiden X-merkkien luo ja luo objekteja käyttäen luokkia.

Pullotettavia öljyjä on neljä (4) tyyppiä, jotka vastaavat koneiden edessä olevia värillisiä mattoja: olive_oil pullotetaan keltaiselle matolle, avocado_oil pullotetaan vihreälle matolle, canola_oil pullotetaan siniselle matolle ja vegetable_oil pullotetaan punaiselle matolle.

Luo objektit jokaiselle öljylle, kirjoita niiden etiketti ja aktivoi child-luokan funktiot label_bottle() ja fill_bottle(), esimerkiksi:

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

Jokaisen etiketin tulee sisältää kunkin öljyn isoilla kirjaimilla kirjoitettu nimi seuraavasti: "Olive Oil", "Avocado Oil", "Canola Oil" ja "Vegetable Oil".

Kun olet pullottanut öljyt, kävele vaalean X-merkin luo säkin edessä ja käytä collect()-funktiota kerätäksesi "onion" säkistä. Tämän jälkeen kävele kultaisen X-merkin luo ja käytä öljyä kypsentääksesi sipulin tallentamalla ne yhdessä listalle nimeltä ingredients, näin: ingredients = ["Olive Oil", "onion"]. Käytä place()-funktiota listan kanssa kypsentääksesi ainekset.

Lopuksi sijoita jäljellä olevat öljyt listalle nimeltä oils, näin: oils = ["Avocado Oil","Canola Oil","Vegetable Oil"]. Kävele vaalean X-merkin luo purppuraisella matolla, käänny kaapin puoleen ja käytä place()-funktiota öljylistan kanssa tallentaaksesi tavarat kaappiin ja suorittaaksesi tason.

Koodikirja