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.
Spickzettel
Das Schlüsselwort extends erstellt eine Kindklasse, die Eigenschaften und Methoden von einer Elternklasse erbt:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
return `${this.name} makes a noise.`;
}
}
class Dog extends Animal {
// Dog erbt von Animal
}
const dog = new Dog('Rex');
console.log(dog.speak()); // Ausgabe: "Rex makes a noise."Die Kindklasse kann auf alle Eigenschaften und Methoden der Elternklasse zugreifen.
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: Vererbung14Bibliotheksverwaltungssystem
Entwurf der BibliothekBuch-Klasse mit Komposition3Klassen & Objekte
Was ist eine Klasse?Instanzen erstellenEigenschaften und MethodenWiederholungs-Challenge6Projekt: Ein einfaches Bankkonto
Klasse BankAccountEinzahlungen und Auszahlungen9Statische 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