LoslegenKostenlos loslegen

Eine Subklasse anpassen

Vererbung ist mächtig, weil sie ermöglicht, Code wiederzuverwenden und anzupassen, ohne bestehenden Code neu zu schreiben. Wenn wir Methoden der Elternklasse innerhalb der Kindklasse aufrufen, nutzen wir den gesamten Code dieser Methoden erneut – das macht unseren Code kompakt und gut wartbar.

In dieser Übung arbeitest du weiter mit der Klasse Manager, die von der Klasse Employee erbt. Du fügst einen Konstruktor hinzu, der auf dem Employee-Konstruktor aufbaut und ein zusätzliches Argument entgegennimmt, mit dem du das Projekt angibst, an dem der Manager arbeitet.

Eine vereinfachte Version der Employee-Klasse sowie der Anfang der zuvor erstellten Manager-Klasse wurden dir in script.py bereitgestellt.

Diese Übung ist Teil des Kurses

Einführung in objektorientierte Programmierung in Python

Kurs anzeigen

Anleitung zur Übung

  • Füge Manager einen Konstruktor hinzu, der name, salary (Standardwert 50000) und project (Standardwert None) akzeptiert.
  • Rufe innerhalb des Manager-Konstruktors den Konstruktor der Klasse Employee auf und übergib die drei Argumente, die im Konstruktor der Elternklasse definiert sind.
  • Verwende self, um das relevante Attribut dem Argument project zuzuweisen.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen