JavaScript-Klassenvererbung
Einführung in die JavaScript-Klassenvererbung
Die Klassenvererbung ist ein grundlegendes Konzept der objektorientierten Programmierung, das es einer Klasse ermöglicht, Eigenschaften und Methoden von einer anderen Klasse zu erben. In JavaScript wird die Klassenvererbung mit dem Schlüsselwort extends implementiert, was die Möglichkeit bietet, eine Klasse als abgeleitete Klasse zu erstellen, die von einer Basisklasse erbt.
Weitere Informationen zur grundlegenden Syntax finden Sie unter JavaScript: Klassen und Grundlegende Syntax.
Erstellen einer abgeleiteten Klasse
Um eine Klasse zu erstellen, die von einer anderen erbt, verwenden wir das Schlüsselwort extends:
In diesem Beispiel erbt Circle von Shape, was bedeutet, dass es die Eigenschaften und Methoden von Shape erbt und gleichzeitig eigene Methoden bereitstellt. Beachten Sie, dass Circle keinen eigenen Konstruktor definiert. In JavaScript rufen abgeleitete Klassen ohne expliziten Konstruktor automatisch super() mit denselben Argumenten auf, die an den Konstruktor der abgeleiteten Klasse übergeben werden.
Überschreiben von Methoden
Abgeleitete Klassen können Methoden ihrer Basisklassen überschreiben, um ein für die Unterklasse spezifisches Verhalten zu implementieren.
Hier überschreibt Circle die Methode print, um seinen spezifischen Typ widerzuspiegeln.
Aufrufen von Elternmethoden mit super
Sie können auch eine Methode der Elternklasse aus der abgeleiteten Klasse heraus mit super.methodName() aufrufen. Dies ist nützlich, wenn Sie das Verhalten der Elternklasse erweitern möchten, anstatt es vollständig zu ersetzen.
Hier führt super.print() die Logik der Elternklasse aus, bevor die unterklassenspezifische Ausgabe hinzugefügt wird.
Zugriff auf den Elternkonstruktor: super-Schlüsselwort
Wenn eine Klasse eine andere erweitert, muss die Konstruktorfunktion der abgeleiteten Klasse den Konstruktor der Elternklasse mit super() aufrufen, bevor sie this verwenden kann. So wird super in Konstruktoren verwendet, um sicherzustellen, dass die Elternklasse initialisiert wird:
Zusammenfassung
Die JavaScript-Klassenvererbung ist eine leistungsstarke Funktion, die die Erstellung eines besser verwaltbaren und hierarchischen Objektmodells ermöglicht. Durch das Verständnis und die effektive Nutzung der Vererbung können Sie organisierteren und modulareren JavaScript-Code schreiben. Vererbung fördert nicht nur die Wiederverwendung von Code, sondern hilft auch dabei, eine intuitive Beziehung zwischen Komponenten in Ihrer Anwendung zu schaffen.
Praxis
Welche Aussagen zur JavaScript-Klassenvererbung sind wahr?