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

Avanserte klasser
Objektarv

I dette kapittelet skal vi utforske hvordan vi kan utnytte klasser best mulig, ved å lære ulike teknikker og klassespesifikke funksjoner som kan utvide objekters evner i Python.

På dette nivået skal vi lære om en av de mest fremtredende utvidede funksjonene til klasser, nemlig objektarv. Denne funksjonen lar oss lage en klasse som arver funksjonene fra en annen klasse, noe som gjør det mulig å lage mer dynamiske objekter samtidig som vi beholder et kjerneutvalg av egenskaper.

Guide

Målsetting

Fyll og lagre vinflasker ved å bruke objektarv med klassene dine.

Dette rommet brukes til å fylle vinflasker, det er noen få som fortsatt må tappes og pakkes, og dette oppnås best ved å bruke klasser. Klasser lar deg lage objekter som kan ha ulike egenskaper, i dette tilfellet forskjellige typer vinflasker. Objekter opprettet ved hjelp av klasser kan arve egenskaper fra andre klasser, disse kalles child klasser mens klasser som brukes som basis for å lage flere klasser kalles parent klasser.

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

Det er satt opp to (2) klasser for bruk, der parent klassen brukes for å plassere en flaske foran et fat som skal fylles, og child klassen brukes for å kombinere og sette vinflasken. Child klassen arver egenskapene fra parent klassen, noe som gjør at du kan lage variasjoner av flaskene uten for mye anstrengelse.

Gå først og samle de fire (4) tomme flaskene på toppen av kartet. Når du har dem, gå til de mørke X-merkene øverst på de fargede teppene og vend deg mot fatdispenserne. Det er fire (4) fargede tepper som representerer fargen på vinen du skal lage i det området, disse er: "green" , "blue" , "purple" og "yellow" .

Ved de mørke X-merkene, opprett et objekt ved hjelp av child klassen, for eksempel: green_bottle = fill_bottle(). Gi objektet et navn i henhold til flasken du prøver å lage, og når det er gjort, sett objektets farge og aktiver funksjonene dens.

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

Gjør dette for alle de fire (4) vinflaskene ved deres respektive X-merker. Når de er klare og flaskene har blitt samlet inn, gå til det lyse X-merket og åpne døren til vinkjelleren ved å bruke open()-funksjonen, slik: player.open(). Gå deretter til det gullfargede X-merket for å lagre flaskene du har laget i en vinreol.

Plasser alle flaskene i en liste kalt bottles og mens du står vendt mot vinreolen, bruk place()-funksjonen for å lagre listen for å fullføre nivået. Det er fire (4) flasker du vil ha samlet: "green bottle" , "blue bottle" , "purple bottle" og "yellow bottle" .

Kodebok