Vererbung
Eine Kindklasse behält, was die Elternklasse schon speichert, und sie kann eine Aufgabe ersetzen. Desk ist ein Kind von Lamp, geschrieben Desk(Lamp). Das Kind installiert kein Paket und legt keinen Ordner an. Desk("blue") speichert trotzdem das Wort blue, weil das Kind init nicht neu geschrieben hat. Das label der Elternklasse setzt weiterhin glow vor das Wort. Das label des Kindes setzt desk davor. Jede Lampe baust du weiterhin selbst. Die Zeile class Desk(Lamp) baut dir keine.
class Lamp:
def __init__(self, color):
self.color = color
def label(self):
return "glow " + self.color
class Desk(Lamp):
def label(self):
return "desk " + self.color
plain = Lamp("blue")
desk = Desk("blue")
print(plain.label())
print(desk.label())
Auf dem Bildschirm stehen zwei Zeilen. Die erste lautet glow blue, die zweite desk blue. plain wurde aus Lamp gebaut, also läuft die Aufgabe der Elternklasse. desk wurde aus Desk gebaut, also läuft die Aufgabe des Kindes. In jeder Zeile steht ein Leerzeichen. Beide Lampen speichern dasselbe Wort. Nur die Aufgabe davor hat sich geändert. print schreibt die Zeilen. Die Methoden geben die Wörter zurück.
Das Kind schreibt die Elternklasse nicht um. Eine Lampe aus Lamp sagt weiterhin glow blue. Die red-Lampe von der vorigen Seite gibt es hier nicht. Geändert hat sich nur, welche Aufgabe für ein Desk läuft. plain.color und desk.color sind beide blue. Das Kind hat keine neue Farbe gespeichert, es hat nur label ersetzt. Hätte das Kind kein eigenes label, würde auch für die Schreibtischlampe die glow-Zeile der Elternklasse laufen. Dieses Kind hat ein eigenes label, deshalb lautet die zweite Zeile desk blue.
Auf der nächsten Seite geht es um besondere Methoden. Diese Seite zeigt nur ein Kind, das das gespeicherte Wort behält und eine Aufgabe ersetzt.
Das Kind behält das Wort
Desk ist ein Kind von Lamp. Auf dem Bildschirm steht glow blue, dann desk blue. Das gespeicherte Wort bleibt blue. Das Kind ersetzt label und schreibt die Elternklasse nicht um. Die nächste Seite behandelt besondere Methoden.
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt