21.08.2025, 11:11
(Dieser Beitrag wurde zuletzt bearbeitet: 21.08.2025, 17:26 von computerdirk.)
Hallo und willkommen zurück!
In der letzten Lektion hast du gelernt, wie man Baupläne (Klassen) für Objekte erstellt. Aber was, wenn du einen Bauplan für eine Person hast und jetzt einen für einen Schüler erstellen möchtest? Ein Schüler ist auch eine Person und hat die gleichen Eigenschaften wie Name und Alter.
Hier kommt die Vererbung ins Spiel. Sie erlaubt es einer neuen Klasse, alle Eigenschaften und Methoden von einer bestehenden Klasse zu "erben". Das spart eine Menge Arbeit und macht deinen Code sehr viel sauberer.
1. Eine Klasse erben lassen
Um eine Klasse von einer anderen erben zu lassen, schreibst du den Namen der "Eltern-Klasse" einfach in Klammern hinter den Namen der neuen Klasse.
Beispiel:
Der neue Schüler hat jetzt automatisch die Eigenschaften name und alter sowie die Methode sage_hallo(). Das musstest du nicht noch einmal schreiben!
2. Eigene Eigenschaften hinzufügen
Ein Schüler hat aber auch eigene Eigenschaften. Um diese hinzuzufügen, nutzt du eine spezielle Funktion namens super(), um die Eigenschaften der Eltern-Klasse aufzurufen, und fügst dann deine eigenen hinzu.
Beispiel:
3. Ein praktisches Beispiel
Jetzt kannst du Objekte beider Klassen erstellen und sie nutzen.
Wie du siehst, kann das Schueler-Objekt die geerbten und die eigenen Methoden nutzen.
In der nächsten Lektion werden wir uns mit dem nächsten wichtigen Prinzip der OOP beschäftigen: der Polymorphie.
<< Zurück zur Kurs-Übersicht: Was ist Python und warum du es lernen solltest
In der letzten Lektion hast du gelernt, wie man Baupläne (Klassen) für Objekte erstellt. Aber was, wenn du einen Bauplan für eine Person hast und jetzt einen für einen Schüler erstellen möchtest? Ein Schüler ist auch eine Person und hat die gleichen Eigenschaften wie Name und Alter.
Hier kommt die Vererbung ins Spiel. Sie erlaubt es einer neuen Klasse, alle Eigenschaften und Methoden von einer bestehenden Klasse zu "erben". Das spart eine Menge Arbeit und macht deinen Code sehr viel sauberer.
1. Eine Klasse erben lassen
Um eine Klasse von einer anderen erben zu lassen, schreibst du den Namen der "Eltern-Klasse" einfach in Klammern hinter den Namen der neuen Klasse.
Beispiel:
Code:
class Person:
def __init__(self, name, alter):
self.name = name
self.alter = alter
def sage_hallo(self):
print(f"Hallo, mein Name ist {self.name}.")
# Die Klasse Schüler erbt von der Klasse Person
class Schueler(Person):
pass # 'pass' ist ein Platzhalter
Der neue Schüler hat jetzt automatisch die Eigenschaften name und alter sowie die Methode sage_hallo(). Das musstest du nicht noch einmal schreiben!
2. Eigene Eigenschaften hinzufügen
Ein Schüler hat aber auch eigene Eigenschaften. Um diese hinzuzufügen, nutzt du eine spezielle Funktion namens super(), um die Eigenschaften der Eltern-Klasse aufzurufen, und fügst dann deine eigenen hinzu.
Beispiel:
Code:
class Schueler(Person):
def __init__(self, name, alter, schulklasse):
super().__init__(name, alter)
self.schulklasse = schulklasse
def sag_schulklasse(self):
print(f"Ich bin in der Klasse {self.schulklasse}.")
- super().__init__(name, alter) ruft den Konstruktor der Person-Klasse auf und übergibt die Werte.
- self.schulklasse = schulklasse fügt die neue Eigenschaft hinzu.
3. Ein praktisches Beispiel
Jetzt kannst du Objekte beider Klassen erstellen und sie nutzen.
Code:
person1 = Person("Dirk", 53)
schueler1 = Schueler("Max", 16, "10b")
person1.sage_hallo() # Ausgabe: Hallo, mein Name ist Dirk.
schueler1.sage_hallo() # Ausgabe: Hallo, mein Name ist Max.
schueler1.sag_schulklasse() # Ausgabe: Ich bin in der Klasse 10b.
Wie du siehst, kann das Schueler-Objekt die geerbten und die eigenen Methoden nutzen.
In der nächsten Lektion werden wir uns mit dem nächsten wichtigen Prinzip der OOP beschäftigen: der Polymorphie.
<< Zurück zur Kurs-Übersicht: Was ist Python und warum du es lernen solltest
Mit freundlichen Grüßen
Dirk Löbe aka Computerdirk
Dirk Löbe aka Computerdirk