Die Idee hinter der Implementierung der Vererbung in JavaScript besteht darin, neue Objekte hinzuzufügen, die aus vorhandenen Objekten abgeleitet werden. Wenn das neu erstellte Objekt zu einem untergeordneten oder abgeleiteten Objekt einer übergeordneten Klasse wird, kann es alle seine Methoden und Eigenschaften erben.
Diese Beschreibung wird diskutieren Typen von Nachlass In JavaScript. So lass uns anfangen!
Vererbungsarten in JavaScript
JavaScript unterstützt die folgenden Arten der Vererbung:
Wir werden jeden der genannten Vererbungstypen in den folgenden Abschnitten diskutieren.
Prototypaler Vererbung in JavaScript
“Prototypal NachlassMit ”können Sie auf Eigenschaften und Methoden eines übergeordneten Objekts zugreifen. In dieser Art von Vererbung darf ein neu erstelltes Objekt die Eigenschaften und Methode eines vorhandenen Objekts erben. Typischerweise “Objekt.GetPrototypeof ()" Und "Objekt.setPrototypeof ()Kann verwendet werden, um den Prototyp eines Objekts zu erhalten und festzulegen; ES6 standardisieren jedoch die “__Proto__”Accessor -Eigenschaft, die für den ähnlichen Zweck verwendet werden kann.
Syntax der prototypischen Vererbung in JavaScript
MildObject.__Proto__ = parentObjectHier "MildObject„Repräsentiert das neu erstellte Objekt, das die Eigenschaften und Methoden von“ erbt “ParentObject”.
Beispiel: So implementieren Sie die prototypische Vererbung in JavaScript
Zunächst werden wir zwei benannte Objekte erstellen. “Fahrrad" Und "Gift"Und fügen Sie eine" hinzu "Farbe”Eigentum für die“Fahrrad"Objekt und ein"Name”Eigentum für die“Gift" Objekt:
lass bike =Durch die Nutzung "__Proto__”Eigentum der“GiftObjekt, wir werden die Eigenschaften der "erben"Fahrrad" Objekt:
Gift.__Proto__ = Fahrrad;Zuletzt werden wir das anzeigeneigen" (Gift.Name und "vererbt" (Gift.Farbe) Eigenschaftswerte von “Gift" Objekt:
Konsole.log ("Dies ist ein" + Venom.Farbe + "" + Gift.Name);Pseudoklassisches Vererbung in JavaScript
Die Idee, die implementieren "Pseudoklassisch Nachlass" ist eine zu erstellen “vererbtFunktionen, die die Kinderklasse mit der Elternklasse assoziiert.
Zu diesem Zweck verwendet das pseudoklassische Vererbung:
Schauen Sie sich nun das folgende Beispiel an, um das pseudoklassische Vererbung klar zu verstehen.
Beispiel: So implementieren Sie die pseudoklassische Vererbung in JavaScript
Wir werden eine Konstruktorfunktion namens definieren “Fahrrad()”:
Funktion bike ()Als nächstes werden wir eine erstellen “die Info()"Funktion, die von den Kinderobjekten von" vererbt wird "Fahrrad”:
Fahrrad.Prototyp.info = function ()In unserem Programm werden wir ein anderes benannte Objekt deklarieren “Gift,"Und nutzen Sie das"Fahrrad.Forderung()Methode zum Aufrufen des Fahrradkonstruktors ():
Funktion venom ()Dann werden wir das verwenden “Prototyp"Eigentum zur Implementierung des pseudoklassischen Vererbung zwischen"GiftObjekt und “Fahrrad" Objekt:
Gift.Prototyp = Objekt.erstellen (Fahrrad.Prototyp);Im letzten Schritt die “neu„Der Bediener wird zum Erstellen der beiden Instanzen verwendet“Gift" Und "Fahrrad„:
var venom = new venom ();Danach das "die Info()" Die Funktion wird für beide Fälle aufgerufen:
Gift.die Info();Wie Sie aus der untergegebenen Ausgabe erkennen können, wird die pseudoklassische Vererbung implementiert, und die Instanz “Gift”Erbelt und hingerichtet"die Info()”Funktion erfolgreich:
Funktionaler Vererbung in JavaScript
Der Mechanismus der Erbungseigenschaften durch Anwendung einer Erweiterungsfunktion (Funktion mit generischer Funktionalität) zu einer Objektinstanz ist als "bekannt als"Funktionaler Vererbung”. Die definierte Augmenting -Funktion verwendet eine dynamische Objekterweiterung, um einer Objektinstanz zusätzliche Eigenschaften und Methoden hinzuzufügen. Sie können auch seine verwenden “Schließbereich”Um einige Daten privat zu halten.
Beispiel: So implementieren Sie die funktionale Vererbung in JavaScript
In diesem Beispiel werden wir eine "erstellen"Fahrrad"Objekt mit einem inneren Objekt benannt"X”:
Funktionsrad (Daten)Dann erstellen wir ein untergeordnetes untergeordnetes Objekt “Gift"Das legt das Erbe mit dem" fest "Fahrrad" Klasse. Dieses untergeordnete Objekt umfasst eine Augmenting -Funktion “die Info"Die den Zugang zum" haben "Name”Eigentum der“X" Objekt:
Funktion Venom (Daten)Um das funktionale Vererbung zu implementieren, werden wir erstellen “Gift"Als Kinderinstanz und übergeben Sie den Wert der"NameEigentum als "Daten" Streit:
var venom = venom (name: "venom");Das Gegebene "Konsole.Protokoll()"Methode holt den Wert der" ab "X.Name"Eigentum vom Elternteil"FahrradObjekt und drucken Sie es auf der Konsole:
Konsole.Protokoll (Gift.die Info());Ausgang
Das drehte sich um die Arten der Vererbung in JavaScript. Sie können sie weiter nach Ihren Vorlieben untersuchen.
Abschluss
Prototypal Erbschaft, pseudoklassisches Erbe und Funktional Die Vererbung ist unterschiedlich Typen von Nachlass In JavaScript. Eine prototypische Vererbungsart wird mit der “implementiert__Proto__”Eigenschaft, während in funktionaler Vererbung ein erweitern Die Funktion wird definiert, die auf die Eigenschaften der übergeordneten Klasse zugreift. Außerdem die Pseudoklassisch Vererbung verwendet a Konstrukteur() Funktion, “neuOperator und Prototyp Eigenschaft zum Einbetten der Vererbung zwischen zwei Objekten. In diesem Artikel wurden verschiedene Arten der Vererbung in JavaScript besprochen.