Method-overerving
In deze oefening breid je de Manager-klasse uit (die overerft van de Employee-klasse), gemaakt in de vorige oefening, door een methode give_raise() toe te voegen. Deze lijkt op de methode met dezelfde naam in de Employee-klasse, maar bevat een extra argument genaamd bonus.
De Manager-klasse die je eerder hebt gemaakt staat voor je klaar in script.py.
Deze oefening maakt deel uit van de cursus
Introductie tot objectgeoriënteerd programmeren in Python
Oefeninstructies
- Voeg een
give_raise()-methode toe aanManagerdie dezelfde parameters accepteert alsEmployee.give_raise(), plus eenbonus-argument met de standaardwaarde1.05(bonus van 5%). - Bereken in de methode
new_amountdooramountte vermenigvuldigen metbonus. - Gebruik in de methode de methode van
Employeeom het salaris te verhogen metnew_amount.
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):
def display(self):
print("Manager ", self.name)
def __init__(self, name, salary=50000, project=None):
Employee.__init__(self, name, salary)
self.project = project
# Add a give_raise method
____:
____
____
mngr = Manager("Ashta Dunbar", 78500)
mngr.give_raise(2000, bonus=1.03)
print(mngr.salary)