Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Voeg een give_raise()-methode toe aan Manager die dezelfde parameters accepteert als Employee.give_raise(), plus een bonus-argument met de standaardwaarde 1.05 (bonus van 5%).
  • Bereken in de methode new_amount door amount te vermenigvuldigen met bonus.
  • Gebruik in de methode de methode van Employee om het salaris te verhogen met new_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)
Code bewerken en uitvoeren