Ideą wdrażania dziedziczenia w JavaScript jest dodanie nowych obiektów pochodzących z istniejących obiektów. Kiedy nowo utworzony obiekt staje się dzieckiem lub pochodnym przedmiotem klasy nadrzędnej, może odziedziczyć wszystkie jego metody i właściwości.
W tym spisie omówi typy z Dziedzictwo W JavaScript. A więc zacznijmy!
Rodzaje dziedziczenia w JavaScript
JavaScript obsługuje następujące rodzaje dziedziczenia:
W następnych sekcjach omówimy każdy z wymienionych typów dziedziczenia.
Prototypowe dziedziczenie w JavaScript
"Prototypowy Dziedzictwo„Umożliwia dostęp do właściwości i metod obiektu nadrzędnego. W tego rodzaju dziedzictwie nowo utworzony obiekt może odziedziczyć właściwości i metodę istniejącego obiektu. Zazwyczaj „Obiekt.getPrototypeof ()" I "Obiekt.setPrototypeof ()”Można użyć do uzyskania i ustawienia prototypu obiektu; Jednak ES6 standaryzuj „__proto__„Proporca, którą można wykorzystać w podobnym celu.
Składnia prototypowego dziedziczenia w JavaScript
ChildObject.__proto__ = paryBjectTutaj "ChildObject”Reprezentuje nowo utworzony obiekt, który dziedziczy właściwości i metody„ParentObject".
Przykład: Jak wdrożyć prototypowe dziedzictwo w JavaScript
Po pierwsze, utworzymy dwa obiekty o nazwie „Rower" I "Jad”I dodaj„kolor„Nieruchomość„Rower”Obiekt i„nazwa„Nieruchomość„Jad" obiekt:
Niech rower =Używając "__proto__„Własność„ „Jad„Obiekt, odziedziczymy właściwości„Rower" obiekt:
Jad.__proto__ = rower;Na koniec wyświetlimy „własny" (Jad.imię i "dziedziczny" (Jad.Kolor) Wartości właściwości „Jad" obiekt:
konsola.Log („to jest jad”.kolor + "" + jad.nazwa);Pseudoklasyczne dziedziczenie w JavaScript
Pomysł wdrożenia „Pseudoklasyczne Dziedzictwo" jest stworzenie „dziedziczny„Funkcja, która pomaga w łączeniu klasy dzieci z klasą rodziców.
W tym celu pseudoklasyczne dziedzictwo wykorzystuje:
Teraz sprawdź pod względem podanego przykładu, aby jasno zrozumieć pseudoklasyczne dziedzictwo.
Przykład: Jak wdrożyć pseudoklasyczne dziedzictwo w JavaScript
Zdefiniujemy funkcję konstruktora o nazwie „Rower()”:
funkcja rower ()Następnie stworzymy „informacje ()„Funkcja, która zostanie odziedziczona przez obiekty dziecięce„Rower”:
Rower.prototyp.info = funkcja ()W naszym programie zadeklarujemy inny obiekt o nazwie „Jad,”I wykorzystaj„Rower.dzwonić()„Metoda wywoływania konstruktora rowerowego ():
funkcja enom ()Następnie użyjemy „prototyp„Własność w celu wdrożenia pseudoklasycznego dziedziczenia między„Jad”Obiekt i„Rower" obiekt:
Jad.Prototype = obiekt.Utwórz (rower.prototyp);W ostatnim kroku „nowy„Operator jest wykorzystywany do tworzenia dwóch instancji”jad" I "rower„:
var enom = new Venom ();Po zrobieniu tego „info () ” Funkcja jest wywoływana dla obu przypadków:
jad.info ();Jak widać z podania poniżej, pseudoklasyczne dziedzictwo jest wdrażane, a instancja „jad”Odziedziczyłem i wykonał„informacje ()„Funkcja pomyślnie:
Funkcjonalne dziedziczenie w JavaScript
Mechanizm dziedziczenia nieruchomości poprzez zastosowanie Funkcja rozszerzania (funkcja o ogólnej funkcji) do instancji obiektu jest znana jako „Dziedziczenie funkcjonalne". Zdefiniowana funkcja rozszerzania wykorzystuje rozszerzenie obiektów dynamicznych, aby dodać dodatkowe właściwości i metody do instancji obiektu. Możesz także użyć jego „Zamknięcie zamknięcia„Aby zapewnić prywatne dane.
Przykład: Jak zaimplementować dziedziczenie funkcjonalne w JavaScript
W tym przykładzie utworzymy „Rower„Obiekt o obiekcie wewnętrznym o nazwie„X”:
rower funkcyjny (dane)Następnie utworzymy obiekt dziecięcy o nazwie „Jad”, Który ustanawia dziedzictwo„Rower" klasa. Ten obiekt dziecięcy będzie obejmował funkcję rozszerzania „informacje„Który może mieć dostęp do„nazwa„Własność„ „X" obiekt:
Funkcja Venom (dane)Aby zaimplementować dziedziczenie funkcjonalne, stworzymy „jad„Jako instancja dziecięca i przekazuj wartość„nazwa„Nieruchomość jako„dane" argument:
var enom = enom (name: „venom”);Dana "konsola.dziennik()„Metoda przyniesie wartość„X.nazwa„Nieruchomość od rodzica”Rower„Obiekt i wydrukuj na konsoli:
konsola.Log (jad.info ());Wyjście
To chodziło o rodzaje dziedziczenia w JavaScript. Możesz je dalej odkrywać zgodnie z preferencjami.
Wniosek
Prototypowy Dziedzictwo, pseudoklasyczne dziedzictwo i Funkcjonalny Dziedziczenie jest inne typy z Dziedzictwo W JavaScript. Prototypowy rodzaj dziedziczenia jest wdrażany za pomocą „__proto__„Własność, podczas gdy w dziedziczeniu funkcjonalnym, rozszerzenie Funkcja jest zdefiniowana, która uzyskuje dostęp do właściwości klasy nadrzędnej. Ponadto Pseudoklasyczne Dziedzictwo wykorzystuje konstruktor() Funkcja, „nowy„Operator i prototyp właściwość do osadzenia dziedziczenia między dwoma obiektami. W tym spisie omówiono różne rodzaje dziedziczenia w JavaScript.