Dziedziczenie w JavaScript
Dziedziczenie jest ważnym pojęciem w programowaniu obiektowym. W klasycznym dziedziczeniu, metody z klasy bazowej są kopiowane do klasy pochodnej.
W JavaScript, dziedziczenie jest wspierane przez użycie prototypu obiektu. Niektórzy ludzie nazywają to „Prototypową Inheriatancją”, a inni „Delegacją Zachowania”.
Zobaczmy jak możemy osiągnąć funkcjonalność podobną do dziedziczenia w JavaScript używając obiektu prototypowego.
Zacznijmy od klasy Person, która zawiera właściwość FirstName & LastName, jak pokazano poniżej.
W powyższym przykładzie zdefiniowaliśmy klasę Person (funkcję) z właściwościami FirstName & LastName, a także dodaliśmy metodę getFullName do jej obiektu prototypowego.
Teraz chcemy stworzyć klasę Student, która dziedziczy po klasie Person, tak abyśmy nie musieli ponownie definiować właściwości FirstName, LastName oraz metody getFullName() w klasie Student. Poniżej znajduje się klasa Student, która dziedziczy po klasie Person.
Proszę zauważyć, że ustawiliśmy Student.prototype na nowo utworzony obiekt Person. Słowo kluczowe new tworzy obiekt klasy Person, a także przypisuje Person.prototype do obiektu prototypu nowego obiektu, a następnie ostatecznie przypisuje nowo utworzony obiekt do obiektu Student.prototype. Opcjonalnie, można również przypisać Person.prototype do obiektu Student.prototype.
Teraz możemy utworzyć obiekt Student, który używa właściwości i metod Person, jak pokazano poniżej.
W ten sposób możemy zaimplementować dziedziczenie w JavaScript.