Das extends-Schlüsselwort
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy. Lektion 26 von 56.
Das Schlüsselwort extends in JavaScript wird verwendet, um eine Kindklasse zu erstellen, die Eigenschaften und Methoden von einer Elternklasse erbt.
Erstellen wir zunächst eine Basisklasse:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
return `${this.name} makes a noise.`;
}
}Lassen Sie uns nun eine Kind-Klasse erstellen, die die Eltern-Klasse erweitert:
class Dog extends Animal {
// Die Klasse Dog erbt von Animal
}Dieser einfache Code bedeutet, dass die Dog-Klasse nun alle Eigenschaften und Methoden von der Animal-Klasse erbt.
Erstelle eine Dog-Instanz:
const dog = new Dog('Rex');Rufen Sie eine von der Elternklasse geerbte Methode auf:
console.log(dog.speak()); // Ausgabe: "Rex makes a noise."Das Schlüsselwort extends erstellt eine Vererbungsbeziehung, bei der die Kindklasse (Dog) auf alle in der Elternklasse (Animal) definierten Funktionalitäten zugreifen und diese nutzen kann.
Aufgabe
Erstelle eine Student-Klasse, die die Person-Klasse unter Verwendung des extends-Schlüsselworts erweitert und exportiere sie.
Probier es selbst
import { Student } from './classes.js';
// Testcode - nicht ändern
const student = new Student("Emma");
console.log(student.greet()); // Sollte "Hello, I'm Emma" 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Übe selbstständig: Online-JavaScript-Compiler