Pas een subklasse aan
Overerving is krachtig omdat je zo code kunt hergebruiken en aanpassen zonder bestaande code te herschrijven. Door methoden van de bovenliggende class in de kindclass aan te roepen, hergebruik je alle code in die methoden, waardoor je code beknopt en beheersbaar blijft.
In deze oefening ga je verder met de class Manager, die is overgeërfd van de class Employee. Je voegt een constructor toe die voortbouwt op de constructor van Employee en een extra argument aanneemt waarin je het project kunt opgeven waaraan de manager werkt.
Een vereenvoudigde versie van de class Employee, evenals het begin van de class Manager die je eerder hebt gemaakt, is voor je klaargezet in script.py.
Deze oefening maakt deel uit van de cursus
Introductie tot objectgeoriënteerd programmeren in Python
Oefeninstructies
- Voeg een constructor toe aan
Managerdiename,salary(standaardwaarde50000) enproject(standaardwaardeNone) accepteert. - Roep binnen de
Manager-constructor de constructor van de classEmployeeaan en geef de drie argumenten door die zijn gedefinieerd in de constructor van de bovenliggende class. - Gebruik
selfom het juiste attribuut toe te wijzen aan het argumentproject.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)