Vererbung von JavaScript-Klassen

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 extendsSchlü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 Studenterbt die Klasse alle Methoden und Eigenschaften der PersonKlasse. Daher hat die StudentKlasse jetzt die nameEigenschaft und die greet()Methode.

Dann erreicht man die greet()Methode der StudentKlasse durch einen Schaffung student1Objekts.

JavaScript super () Schlüsselwort

Das superin 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 superInside StudentClass auf die PersonKlasse. Wenn der Konstruktor der StudentKlasse aufgerufen wird, ruft er daher auch den Konstruktor der PersonKlasse 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 occupationEigenschaft und die greet()Methode in der übergeordneten PersonKlasse und der untergeordneten StudentKlasse vorhanden. Daher Studentüberschreibt die Klasse die occupationEigenschaft 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.

Interessante Beiträge...