Grundlegende Vererbung
Teil des Abschnitts Objektorientierte Programmierung der Python-Journey von Coddy. Lektion 17 von 64.
Vererbung ermöglicht es einer Klasse, Attribute und Methoden von einer anderen Klasse zu erben, wodurch eine Eltern-Kind-Beziehung entsteht.
Hier ist ein Beispiel für eine Basisklasse:
class Animal:
def __init__(self, name):
self.name = name
def info(self):
print(f"I am {self.name}, an animal")Erstellen Sie eine Kindklasse, die von der Elternklasse erbt:
class Dog(Animal):
pass # Erbt alles von AnimalDie Syntax class Dog(Animal): bedeutet, dass Dog von Animal erbt. Setze den Namen der übergeordneten Klasse in Klammern.
Erstellen Sie Objekte aus beiden Klassen:
generic_animal = Animal("Creature")
buddy = Dog("Buddy")Verwenden Sie die geerbten Methoden:
generic_animal.info()
buddy.info()Ausgabe:
I am Creature, an animal
I am Buddy, an animalObwohl Dog __init__ oder info nicht definiert, erhält es sie automatisch von Animal.
Sie können der Kindklasse neue Methoden hinzufügen:
class Dog(Animal):
def bark(self):
print(f"{self.name} says Woof!")
buddy = Dog("Buddy")
buddy.info() # Vererbte Methode
buddy.bark() # Neue MethodeAusgabe:
I am Buddy, an animal
Buddy says Woof!Wichtiger Punkt: Unterklassen erben alle Attribute und Methoden von ihrer Elternklasse. Verwenden Sie die Syntax class Child(Parent):, um Vererbung zu erstellen. Dies hilft Ihnen, Code wiederzuverwenden und logische Klassenhierarchien zu erstellen.
Aufgabe
Mittelvehicle.py: Enthält die übergeordnete KlasseVehiclecar.py: Enthält die KlasseCar, die vonVehicleerbtdriver.py: Hauptdatei zum Testen deiner Implementierung
Jede Datei enthält ausführliche TODO-Kommentare, die dich durch die Implementierung führen. Du musst:
- Die Klasse
Vehiclemit den Attributen für Marke und Modell vervollständigen - Eine korrekte Klassenvererbung in der Klasse
Carimplementieren - Die korrekten Importanweisungen zwischen den Dateien einrichten
- Objekte in der Treiberdatei erstellen und testen
Befolge die TODO-Kommentare sorgfältig, da sie eine schrittweise Anleitung zur Lösung bieten.
Probier es selbst
# TODO: Importiere die Klasse Vehicle aus vehicle.py
# TODO: Importiere die Klasse Car aus car.py
# TODO: Erstelle ein Vehicle-Objekt mit der Marke "Toyota" und dem Modell "Corolla"
vehicle = None
# TODO: Erstelle ein Car-Objekt mit der Marke "Honda" und dem Modell "Civic"
car = None
# TODO: Rufe die Methode display_info() für das vehicle-Objekt auf
# Erwartete Ausgabe: "Vehicle: Toyota Corolla"
# TODO: Rufe die Methode display_info() für das car-Objekt auf
# Erwartete Ausgabe: "Vehicle: Honda Civic"
# Hinweis: Car erbt display_info von Vehicle ohne ÄnderungDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienEinführung in die OOPKlassen vs. ObjekteDer self-ParameterMethodenAttributeKonstruktormethode (__init__)Zusammenfassung – Einfacher Taschenrechner4Vererbung
Grundlegende VererbungDie super()-FunktionMethodenüberschreibungMehrfachvererbungMethodenauflösungsreihenfolgeWiederholung – Mitarbeiterhierarchie7Spezielle Methoden
Einführung in magische MethodenOperatorüberladungMagische Methoden für ContainerRückblick – Benutzerdefinierte Liste10Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFactory-MusterObserver-MusterStrategy-Muster13Abschließende Herausforderungen
E-Learning-PlattformBankensystemEntwicklung von SpielfigurenFahrzeugvermietungsservice2Dekoratoren
Einführung in DekoratorenProperty-DekoratorDekorator für statische MethodenDekorator für Klassenmethoden5Polymorphie
Methodenüberschreibung erneut betrachtetDuck-TypingAbstrakte Klassen und MethodenSchnittstellendesignRückblick – Formrechner8Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungMixinsStatische Methoden und KlassenmethodenKlassen-DekoratorenKontextmanager3Klassenattribute
Instanz- vs. KlassenvariablenProperty-DecoratorsPrivate AttributeWiederholung – Bankkontoverwaltung6Kapselung
Öffentliche, geschützte, private MemberZugriffsmodifikatorenInformationsverbergungProperty-Decorators – FortgeschrittenWiederholung – System zur Verwaltung von Studentendaten12Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und BenutzerklassenAusleihsystemSuchfunktionAdministrationsoberflächeTests und IntegrationÜbe selbstständig: Online-Python-Compiler