Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Basisklassen und Unterklassen | Vererbung
Objektorientierte Programmierung in Python

bookBasisklassen und Unterklassen

Swipe um das Menü anzuzeigen

Die Implementierung der Vererbung in Python erfolgt durch Basisklassen (Eltern) und Subklassen (Kinder).

Eine Basisklasse definiert allgemeine Eigenschaften und Verhaltensweisen, während eine Subklasse diese Merkmale erbt und mit eigenen erweitern kann.

123456789101112131415161718192021222324252627282930
class Employee: def __init__(self, name, salary): self.name = name self.salary = salary def get_info(self): return f"{self.name}, {self.salary}" class Manager(Employee): def __init__(self, name, salary, department): super().__init__(name, salary) self.department = department def get_info(self): return f"{super().get_info()}, {self.department}" class Developer(Employee): def __init__(self, name, salary, language): super().__init__(name, salary) self.language = language def get_info(self): return f"{super().get_info()}, {self.language}" print(Employee("Anna", 2000).get_info()) print(Manager("Mark", 3500, "IT").get_info()) print(Developer("Lena", 3000, "Python").get_info())
copy

Employee ist die Basisklasse. Sie speichert die Daten, die alle Mitarbeiter gemeinsam haben. Manager und Developer sind Unterklassen von Employee. Sie übernehmen automatisch alles von der Basisklasse, sodass sie denselben Code nicht erneut schreiben müssen.

Der Aufruf von super() führt den Konstruktor der Basisklasse aus, sodass name und salary korrekt gesetzt werden. Jede Unterklasse fügt dann ihre eigenen Daten hinzu:

  • Manager fügt department hinzu
  • Developer fügt language hinzu

Beide Unterklassen überschreiben außerdem get_info(). Sie verwenden die Basisklassen-Version mit super().get_info() und erweitern das Ergebnis um ihre eigenen Details.

Note
Hinweis

Dadurch wird die Basisklasse zur Grundlage und die Unterklasse zur spezialisierten Implementierung, die zusätzliche Flexibilität bietet.

question mark

Welche Rolle hat eine Unterklasse bei der Vererbung in Python?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 2

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 2. Kapitel 2
some-alt