In diesem Tutorial lernen Sie anhand von Beispielen die Vererbung von JavaScript-Klassen kennen.
Klassenvererbung
Mit der Vererbung können Sie eine Klasse definieren, die alle Funktionen einer übergeordneten Klasse übernimmt und weitere hinzufügen kann.
Mithilfe der Klassenvererbung kann eine Klasse alle Methoden und Eigenschaften einer anderen Klasse erben.
Vererbung ist eine nützliche Funktion, die die Wiederverwendbarkeit von Code ermöglicht.
Um die Klassenvererbung zu verwenden, verwenden Sie das extends
Schlüsselwort. Beispielsweise,
// parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( ) let student1 = new Student('Jack'); student1.greet();
Ausgabe
Hallo jack
Im obigen Beispiel Student
erbt die Klasse alle Methoden und Eigenschaften der Person
Klasse. Daher hat die Student
Klasse jetzt die name
Eigenschaft und die greet()
Methode.
Dann erreicht man die greet()
Methode der Student
Klasse durch einen Schaffung student1
Objekts.
JavaScript super () Schlüsselwort
Das super
in einer untergeordneten Klasse verwendete Schlüsselwort bezeichnet die übergeordnete Klasse. Beispielsweise,
// parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( console.log("Creating student class"); // call the super class constructor and pass in the name parameter super(name); ) ) let student1 = new Student('Jack'); student1.greet();
Hier bezieht sich super
Inside Student
Class auf die Person
Klasse. Wenn der Konstruktor der Student
Klasse aufgerufen wird, ruft er daher auch den Konstruktor der Person
Klasse auf, der ihm eine Namenseigenschaft zuweist.
Überschreibende Methode oder Eigenschaft
Wenn eine untergeordnete Klasse denselben Methoden- oder Eigenschaftsnamen wie die übergeordnete Klasse hat, werden die Methode und die Eigenschaft der untergeordneten Klasse verwendet. Dieses Konzept wird als Methodenüberschreibung bezeichnet. Beispielsweise,
// parent class class Person ( constructor(name) ( this.name = name; this.occupation = "unemployed"; ) greet() ( console.log(`Hello $(this.name).`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( // call the super class constructor and pass in the name parameter super(name); // Overriding an occupation property this.occupation = 'Student'; ) // overriding Person's method greet() ( console.log(`Hello student $(this.name).`); console.log('occupation: ' + this.occupation); ) ) let p = new Student('Jack'); p.greet();
Ausgabe
Hallo Student Jack. Beruf: Student
Hier sind die occupation
Eigenschaft und die greet()
Methode in der übergeordneten Person
Klasse und der untergeordneten Student
Klasse vorhanden. Daher Student
überschreibt die Klasse die occupation
Eigenschaft und die greet()
Methode.
Vererbung
- Da eine untergeordnete Klasse alle Funktionen der übergeordneten Klasse erben kann, ermöglicht dies die Wiederverwendbarkeit von Code.
- Sobald eine Funktionalität entwickelt ist, können Sie sie einfach erben. Das Rad muss nicht neu erfunden werden. Dies ermöglicht einen saubereren Code und ist einfacher zu warten.
- Da Sie der untergeordneten Klasse auch eigene Funktionen hinzufügen können, können Sie nur die nützlichen Funktionen erben und andere erforderliche Funktionen definieren.