Anpassa en underklass
Arv är kraftfullt eftersom det låter oss återanvända och anpassa kod utan att skriva om befintlig kod. Genom att anropa metoder från den överordnade klassen inuti den underordnade klassen återanvänder vi all kod i dessa metoder, vilket gör koden kompakt och lätthanterlig.
I den här övningen fortsätter du att arbeta med klassen Manager, som ärver från klassen Employee. Du lägger till en konstruktor som bygger vidare på Employee-konstruktorn och tar ett ytterligare argument där du kan ange vilket projekt chefen arbetar med.
En förenklad version av klassen Employee, samt början av klassen Manager som du tidigare skapade, finns tillgänglig i script.py.
Den här övningen är en del av kursen
Introduktion till objektorienterad programmering i Python
Övningsinstruktioner
- Lägg till en konstruktor i
Managersom tar emotname,salary(standardvärde50000) ochproject(standardvärdeNone). - Anropa konstruktorn i klassen
EmployeeinutiManager-konstruktorn och ange de tre argument som definieras i den överordnade klassens konstruktor. - Använd
selfför att tilldela rätt attribut till argumentetproject.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
class Employee:
def __init__(self, name, salary=30000):
self.name = name
self.salary = salary
def give_raise(self, amount):
self.salary += amount
class Manager(Employee):
# Add a constructor
def __init__(self, name, ____=____, ____=____):
# Call the parent's constructor
____.____(____, ____, salary)
# Assign project attribute
____.____ = ____
def display(self):
print("Manager ", self.name)