Klassenvererbung in JavaScript

Klassenvererbung in JavaScript
Klassenvererbung In JavaScript ist ein wertvolles Merkmal, das die Wiederverwendbarkeit von Code ermöglicht. Durch die Verwendung der Klassenvererbung hat die untergeordnete Klasse alle Zugriff auf die Eigenschaften und Methoden der übergeordneten Klasse in einem JavaScript -Programm. Sie können auch eine untergeordnete Klasse erstellen, die die Funktionalität der übergeordneten Klasse erbt, während Sie sie überschreiben können.

In dieser Beschreibung werden die Erbritter der Klassen in JavaScript diskutiert. Wir werden auch erklären Schattenmethoden Und Erben statische Methoden Verwenden der Klassenvererbung in JavaScript. Darüber hinaus wird jeder der angegebenen Abschnitte mit Hilfe von Beispielen demonstriert. So lass uns anfangen!

Klassenvererbung in JavaScript

Der Mechanismus, in dem eine Klasse die Methoden und Eigenschaften einer anderen Klasse erbt Klassenvererbung. Der "Base" oder der "ElternteilDie Klasse ist diejenige, deren Methoden und Eigenschaften vererbt werden, während das “Abgeleitet" oder der "KindDie Klasse erbt die Funktionalität der übergeordneten Klasse:

Der "erweitert"Schlüsselwort wird verwendet, um die Klassenerbranz zwischen Eltern und Kinderklasse und der" festzustellen "superDas Schlüsselwort wird verwendet, um auf die Methoden und Eigenschaften der übergeordneten Klasse zuzugreifen.

Beispiel: Klassenvererbung in JavaScript

Im folgenden Beispiel definieren wir zwei Klassen: Person Und Mitarbeiter, und erstellen Sie die Klasse erbrems zwischen ihnen, indem Sie die „nutzen“super" Und "erweitert" Schlüsselwörter.

Zunächst werden wir eine übergeordnete oder Basisklasse benannt "definieren"Person”Mit einem Konstruktor und einer Methode von teamname ():

Klassenperson
Konstruktor (Name)
Das.Name = Name;

Name anzeigen()
Konsole.log ('mein Name ist' + dies.Name);

Im nächsten Schritt werden wir die namens Kinderklasse erstellen “Mitarbeiter"Die einen Konstruktor haben und einen"displayStatus ()" Methode. Aufbau einer Klasse Erbschaftsbeziehung mit dem “Person"Klasse, Sie müssen die" verwenden "erweitertSchlüsselwort und Geben Sie den Namen der übergeordneten Klasse anPerson" in unserem Fall. Danach das "Mitarbeiter"Klasse wird die" erben "PersonMethoden und Eigenschaften der Klasse.

Auch in der "Mitarbeiter"Klassenkonstruktor, wir werden aufrufen"super()”Um den Konstruktor der“ zu nennen “Person”Klasse, während Sie die“ übergeben “Name" Streit:

Der Mitarbeiter der Klasse erweitert die Person
Konstruktor (Name)
Super (Name);

displayStatus ()
Konsole.log ('Ich bin ein Angestellter');

Jetzt werden wir eine erstellen “Mitarbeiter"Objekt der"Mitarbeiter"Klasse und wird passieren"Jack”Als Namen Argumente im Konstruktor:

Sei Mitarbeiter = neuer Mitarbeiter ('Jack');

Das Erstellen “Mitarbeiter"Objekt hat alle Methoden und Eigenschaften der" geerbt "Person" Klasse. Jetzt werden wir die aufrufen "Name anzeigen()"Methode der"PersonKlasse damit:

Mitarbeiter.Name anzeigen();

Zuletzt werden wir das nennen "displayStatus ()"Methode der"MitarbeiterKlassenobjekt:

Mitarbeiter.displayStatus ();

Schauen Sie sich das untergegebene Bild des bereitgestellten Code und seiner Ausgabe an:

Als Super () initialisiert die “DasObjekt, Sie müssen es zuerst aufrufen, bevor Sie darauf zugreifen. Wenn Sie jedoch versuchen, zugreifen zu können “DasBevor Sie Super () ausführen, erhalten Sie einen Fehler.

Zum Beispiel, um die “zu initialisieren“Alter”Eigentum der“Mitarbeiter"Klasse in seinem Konstruktor werden wir das nennen"super()”Zuerst und dann auf die“ zugreifenDas" Objekt:

Der Mitarbeiter der Klasse erweitert die Person
Konstruktor (Name, Alter)
Super (Name);
Das.Alter = Alter;

Anzeige()
Konsole.log ("Ich bin ein Mitarbeiter");

getage ()
Geben Sie dies zurück.Alter;

Jetzt zum Zeitpunkt des Erstellens der “Mitarbeiter1"Objekt der"Mitarbeiter"Klasse, wir werden passieren"Jack" als Name Und "29" als Alter Argument an den Konstruktor:

Sei Mitarbeiter1 = neuer Mitarbeiter ('Jack', 29);

Dann werden wir nach der Initialisierung das aufrufen “getage ()Methode unserer Mitarbeiterklasse, um den Alter des Alters zu sehen:

Konsole.Protokoll (Mitarbeiter1.getage ());

Schauen Sie sich die Ausgabe des oben gegebenen Beispiels an:

Schattenmethoden mit Klassenvererbung in JavaScript

Methoden mit demselben Namen können sowohl in Eltern- als auch in Kinderklassen definiert werden. In einer solchen Situation wird die Methode, die in der übergeordneten Klasse vorhanden ist.

Zum Beispiel das untergegebene “Student"Klasse ist die Kinderklasse der"Person"Und definiert das" neu "Name anzeigen()" Methode:

Klassenstudent erweitert die Person
Konstrukteur()
Super ('Jack');

Name anzeigen()
Konsole.log ('mein Name ist Jack');

Jetzt die "Name anzeigen()In der Kinderklasse und auch in der übergeordneten Klasse besteht die Methode. Also, wenn du das nennst "Name anzeigen()" mit dem "StudentKlassenobjekt, es wird die in der untergeordnete Klasse definierte Methode "teamname () aufgerufen:

let student1 = neuer Schüler ();
Student1.Name anzeigen();

Hier ist der Beispielcode mit seiner Ausgabe:

Wenn Sie die übergeordnete Klassenmethode mit demselben Namen in der untergeordneten Klasse aufrufen möchten, müssen Sie ausschreiben “super.MethodName (Argumente)”. Zum Beispiel werden wir das nennen "Name anzeigen()"Methode der"Person"(Übergeordnete) Klasse, indem die Zeile hinzugefügt wird"super.Name anzeigen()”In unserer untergeordneten Klasse zeigte Namen (): Methode:

Name anzeigen()
super.Name anzeigen();
Konsole.log ('Kinderfunktion');

Nun, wenn das Objekt der Kinderklasse das aufruft “Name anzeigen()”, Es wird durch den Körper der untergeordneten Klasse" teamname () -Methode "und dann die Methode der übergeordneten Klasse teaningame () aufgerufen. Nach Abschluss der Ausführung der übergeordneten Klasse teamameMe () () wird die Steuerung auf die Methode "teamname () der untergeordneten Klasse verschoben:

let student1 = neuer Schüler ();
Student1.Name anzeigen();

Im folgenden Bild können Sie die Ausgabe der “sehen“Name anzeigen()" Methode:

Erben statische Mitglieder mit Klassenvererbung in JavaScript

Die untergeordnete Klasse kann auch die statischen Methoden und Eigenschaften der übergeordneten Klasse erben. Lassen Sie uns Ihnen helfen, dieses Konzept zu verstehen, indem wir ein Beispiel demonstrieren.

Im folgenden Beispiel werden wir eine Statik definieren “Hallo Welt()"Methode in derselben"PersonÜber Elternklasse, die einfach das ausgeben "Hallo WeltString beim Aufrufen:

Klassenperson
Konstruktor (Name)
Das.Name = Name;

Name anzeigen()
Konsole.log ('mein Name ist' + dies.Name);

static helloWorld ()
Konsole.log ('Hallo Welt');

Im nächsten Schritt werden wir erstellen “Mitarbeiter"Als Kinderklasse der"Person”, Damit es die Methode und Eigenschaften der übergeordneten Klasse erben kann, einschließlich der“Hallo Welt()Statische Methode:

Der Mitarbeiter der Klasse erweitert die Person
displayStatus ()
Konsole.log ('Ich bin ein Angestellter');

Als nächstes werden wir die statische Methode von HelloWorld () durch die “aufrufen“Mitarbeiter" Klasse:

Mitarbeiter.Hallo Welt();

Der Arbeitnehmer.Die Methode von HelloWorld () wird wie die Person ausgeführt.HelloWorld () Methode:

Abschluss:

Du kannst den ... benutzen erweitert Schlüsselwort zum Erstellen einer Klassenerbschaft in JavaScript und der super Schlüsselwort, um sich auf die übergeordnete Klasse zu beziehen. Mit dem Klassenvererbungsmechanismus in JavaScript kann die untergeordnete Klasse auf die Methoden und Eigenschaften der Elternklasse zugreifen. In diesem Artikel wurde die Klassenerbschaft in JavaScript besprochen. Wir haben auch Schattenmethoden erklärt und statische Methoden mithilfe der Klassenvererbung in JavaScript erben. Darüber hinaus wird jeder der angegebenen Abschnitte mit Hilfe von Beispielen demonstriert.