Vererbung
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 24 von 56.
Vererbung in JavaScript OOP ist eine Möglichkeit für eine Klasse, Zugriff auf alle Eigenschaften und Methoden einer anderen Klasse zu erhalten.
Schauen wir uns ein Beispiel an. Erstellen Sie eine Basisklasse:
class Vehicle {
constructor(brand, model) {
this.brand = brand;
this.model = model;
}
drive() {
console.log("Driving!");
}
}Erstellen Sie nun eine Kindklasse, die von Vehicle erbt:
// Car erbt von Vehicle
class Car extends Vehicle {
honk() {
console.log("Beep beep!");
}
}Erstellen Sie eine Instanz der untergeordneten Klasse:
const myCar = new Car("Toyota", "Camry");Greifen Sie auf Eigenschaften und Methoden zu:
console.log(myCar.brand); // "Toyota" - geerbt von Vehicle
console.log(myCar.model); // "Camry" - geerbt von Vehicle
// Car kann auf die Methoden von Vehicle zugreifen
myCar.drive(); // "Driving!" - geerbt von Vehicle
// Car hat auch eigene Methoden
myCar.honk(); // "Beep beep!" - spezifisch für CarAufgabe
Dir werden eine Animal-Klasse und eine Dog-Klasse, die von ihr erbt, gegeben. Deine Aufgabe ist es, ein myDog-Objekt mit dem Namen "Buddy" und dem Alter 3 zu erstellen.
Probier es selbst
import { Dog } from './animal.js';
// TODO: Erstelle das Objekt myDog mit dem Namen "Buddy" und dem Alter 3.
// Testcode - nicht ändern
console.log(myDog.name); // Sollte "Buddy" ausgeben
console.log(myDog.age); // Sollte 3 ausgebenDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Objekte & das this-Schlüsselwort
Kurze Wiederholung: ObjekteMethoden zu Objekten hinzufügenDas this-Schlüsselwort verstehenKonstruktorfunktionenDas new-SchlüsselwortWiederholungs-Challenge7Vererbung & das extends-Schlüsselwort
VererbungDie „ist-ein“-BeziehungDas extends-SchlüsselwortDie super()-MethodeVererben von Eigenschaften & MethodenWiederholungs-Challenge10Polymorphie
Was ist Polymorphie?Geerbte Methoden überschreibenVerwendung von superWiederholungs-Challenge13Komposition vs. Vererbung
Die "hat-ein"- vs. "ist-ein"-BeziehungDie Grenzen tiefer VererbungObjekte zusammenbauen2Code organisieren
Was sind Module?Exportieren mit exportImportieren mit importDefault- vs. benannte Exports5Kapselung & Zugriff
KapselungÖffentliche & private KlassenfelderPrivate MethodenWiederholungs-Herausforderung8OOP-Code strukturieren
Klassen in Modulen organisieren11Projekt: Ein Shape-Renderer
Setup: Shape-Klasse & ExportCircle-Klasse: VererbungOverriding & Area-MethodeStatischer Shape-Zähler14Bibliotheksverwaltungssystem
Entwurf der BibliothekBuch-Klasse mit KompositionValidierung der Buchautoren3Klassen & Objekte
Was ist eine Klasse?Instanzen erstellenEigenschaften und MethodenWiederholungs-Challenge6Projekt: Ein einfaches Bankkonto
Klasse BankAccountEinzahlungen und AuszahlungenKontostand als privates Feld9Statische Methoden & Eigenschaften
Klassenebene vs. InstanzebeneStatische EigenschaftenStatische HilfsmethodenWiederholungs-Challenge12Getter & Setter
Die Schlüsselwörter get und setBerechnete EigenschaftenValidierung und SeiteneffekteWiederholungs-Challenge15Abschluss-Herausforderungen
Spielfiguren-BuilderE-Commerce ProduktsystemUniversitäts-VerwaltungssystemSmart-Home-Gerätesystem