Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Voeg een constructor toe aan Manager die name, salary (standaardwaarde 50000) en project (standaardwaarde None) accepteert.
  • Roep binnen de Manager-constructor de constructor van de class Employee aan en geef de drie argumenten door die zijn gedefinieerd in de constructor van de bovenliggende class.
  • Gebruik self om het juiste attribuut toe te wijzen aan het argument project.

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)
Code bewerken en uitvoeren