Avancerad Pythonutvecklingskurs
Kapitel
>
Nivå
Avancerade klasser
Objektarv
I det här kapitlet kommer vi att utforska hur man får ut mesta möjliga av klasser, genom att lära oss olika tekniker och klassspecifika funktioner som kan utöka objektens kapacitet i Python.
På denna nivå kommer vi att lära oss om en av de mest framträdande utökade funktionerna i klasser, objektärvning. Denna funktion möjliggör att vi kan skapa en klass som ärver sina funktioner från en annan klass, vilket tillåter oss att skapa mer dynamiska objekt samtidigt som vi behåller en kärnuppsättning av egenskaper.

Mål
Fyll och förvara vinflaskor med hjälp av objektärvning i dina klasser.
Detta rum används för att fylla vinflaskor, det finns några som fortfarande behöver flaskas och packas, vilket bäst uppnås genom att använda klasser. Klasser gör det möjligt för dig att skapa objekt som kan ha olika egenskaper, i det här fallet olika typer av vinflaskor. Objekt skapade med klasser kan ärva egenskaper från andra klasser, dessa kallas child klasser medan de klasser som används som bas för att skapa fler klasser kallas 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 finns två (2) klasser uppsatta för användning, den parent klassen används för att placera en flaska framför en fat för att fyllas, den child klassen används för att kombinera och konfigurera vinflaskan. Den child klassen ärver egenskaper från den parent klassen, vilket gör att du kan skapa variationer av flaskorna utan alltför mycket ansträngning.
Gå först och samla de fyra (4) tomma flaskorna högst upp på kartan. När du har dem, gå till de mörka X-märkena ovanpå de färgade mattorna och möt fatutlämnarna. Det finns fyra (4) färgade mattor, som representerar den vinfärg du behöver skapa i det området, nämligen: "green" , "blue" , "purple" och "yellow".
Vid de mörka X-märkena, skapa ett objekt med hjälp av child klassen, till exempel: green_bottle = fill_bottle(). Namnge objektet efter den flaska du försöker skapa, och när det är klart, sätt objektets färg och aktivera dess funktioner.
# Green bottle setup green_bottle.color = "green" green_bottle.set_bottle() green_bottle.fill_bottle()
Gör detta för alla fyra (4) vinflaskor vid deras respektive X-märken. När alla är klara och flaskorna har samlats, gå till det ljusa X-märket och öppna dörren till vinkällaren med hjälp av open()-funktionen, på följande sätt: player.open(). Därefter, gå till det gyllene X-märket för att förvara de flaskor du skapade i ett vinställ.
Placera alla flaskor i en lista med namnet bottles och, medan du står vänd mot vinstället, använd place()-funktionen för att lagra listan för att slutföra nivån. Det finns fyra (4) flaskor du har samlat: "green bottle" , "blue bottle" , "purple bottle" och "yellow bottle".