Coding for KidsCoding for Kids
Creatieve LevelsUitdagingenLerarengids
Stem op functies
Gevorderde Python-ontwikkelingscursus
Hoofdstuk
>
Niveau

Geavanceerde klassen
Object Overerving

In dit hoofdstuk gaan we onderzoeken hoe we het beste uit klassen kunnen halen, met het leren van verschillende technieken en klassespecifieke functies die de mogelijkheden van objecten in Python kunnen uitbreiden.

Op dit niveau zullen we een van de meest prominente uitgebreide functies van klassen behandelen, namelijk objectovererving. Deze functie stelt ons in staat een klasse te creëren die zijn functies erft van een andere klasse, waardoor we dynamischere objecten kunnen maken terwijl we toch een kernset van eigenschappen behouden.

Guide

Doelstelling

Vul en bewaar wijnflessen met behulp van objectovererving met je klassen.

Deze kamer wordt gebruikt om wijnflessen te vullen; er zijn er nog een paar die gebotteld en verpakt moeten worden. Dit wordt het beste bereikt door gebruik te maken van klassen. Klassen stellen je in staat om objecten te creëren die verschillende eigenschappen kunnen bezitten, in dit geval verschillende soorten wijnflessen. Objecten die met behulp van klassen worden gemaakt, kunnen eigenschappen erven van andere klassen; deze worden child klassen genoemd, terwijl klassen die als basis worden gebruikt voor het creëren van meer klassen, parent klassen worden genoemd.

# Parent Class class wine_bottle: color = "" def set_bottle(self): player.place("empty bottle") # Child Class class fill_bottle(wine_bottle): def fill_bottle(self): player.combine(["empty bottle", self.color + " wine"]) player.speak("The bottle's color is: %s" % self.color) player.collect(self.color + "bottle")

Er zijn twee (2) klassen ingesteld voor gebruik. De parent klasse wordt gebruikt om een fles voor een vat te plaatsen om gevuld te worden, en de child klasse wordt gebruikt om de wijnfles te combineren en in te stellen. De child klasse erft de eigenschappen van de parent klasse, waardoor je variaties van de flessen kunt maken zonder al te veel moeite.

Loop eerst naar boven op de kaart en verzamel de vier (4) lege flessen. Zodra je ze hebt, loop naar de donkere X-tekens bovenop de gekleurde tapijten en ga naar de vatdispensers. Er zijn vier (4) gekleurde tapijten, die de kleur van wijn vertegenwoordigen die je in dat gebied moet creëren, namelijk: "green" , "blue" , "purple" en "yellow" .

Bij de donkere X-tekens maak je een object met behulp van de child klasse, bijvoorbeeld: green_bottle = fill_bottle(). Noem het object volgens de fles die je wilt creëren, stel vervolgens de kleur van het object in en activeer de functies ervan.

# Green bottle setup green_bottle.color = "green" green_bottle.set_bottle() green_bottle.fill_bottle()

Doe dit voor alle vier (4) wijnflessen op hun respectievelijke X-tekens. Zodra ze allemaal zijn ingesteld en de flessen zijn verzameld, loop naar de lichte X en open de deur naar de wijnkelder met behulp van de open() functie, bijvoorbeeld: player.open() . Loop vervolgens naar de gouden X-tekens om de flessen, die je hebt gemaakt, in een wijnrek op te slaan.

Plaats alle flessen in een lijst genaamd bottles en terwijl je tegenover het wijnrek staat, gebruik je de place() functie om de lijst op te slaan om het niveau te voltooien. Er zijn vier (4) flessen die je hebt verzameld: "green bottle" , "blue bottle" , "purple bottle" en "yellow bottle" .

Codeboek