Co to jest polimorfizm w JavaScript

Co to jest polimorfizm w JavaScript
Termin polimorfizm pochodzi od słowa „Polimorf," Gdzie "Poli" oznacza "Wiele" I "Morph" oznacza "Przekształcając jedną formę w drugą". W programowaniu obiektowym polimorfizm pozwala na wykonanie tej samej operacji na wiele sposobów. Umożliwia wywołanie tej samej metody z różnymi obiektami JavaScript, przekazując wybrane elementy danych.

W tym spisie omówi polimorfizm w JavaScript za pomocą odpowiednich przykładów. A więc zacznijmy!

Co to jest polimorfizm w JavaScript

Obiekty mogą działać inaczej w różnych kontekstach, ponieważ wszystkie zasady programowania zorientowane na obiekty są oparte na użyciu obiektów. Polimorfizm odnosi się do koncepcji, że może istnieć wiele form jednej metody, a w zależności od scenariusza środowiska wykonawczego jeden typ obiektu może mieć różne zachowanie. Wykorzystuje „Dziedzictwo”W tym celu.

W polimorfizmie wiele obiektów może mieć te same metody, ale z różnymi implementacjami, a obiekt i jego powiązana metoda są wybierane na podstawie preferencji użytkownika.

Przykład 1: Korzystanie z polimorfizmu w JavaScript

Zwierzęta są często używane do wyjaśnienia polimorfizmu. W poniższym przykładzie „Zwierzę”To klasa nadrzędna, podczas gdy, Kot I Pies Czy jego pochodne lub dziecięce zajęcia. Metoda say () jest powszechna w obu klasach dzieci. Użytkownik może wybrać obiekt z dowolnej klasy dziecięcej w czasie wykonywania, a tłumacz JavaScript wywoła „mówić()”Odpowiednio metoda.

Zgodnie z powyższym opisem zdefiniowaliśmy rodzica Zwierzę klasa i dwie zajęcia dla dzieci, Kot I Pies, w naszym programie. Następnie dodaliśmy „mówić()„Metoda w klasie zwierząt.

W tym przykładzie nie zdefiniujemy „mówić()„Metoda na zajęciach dla dzieci. W wyniku tego klasa kotów i psów będzie korzystać z klasy zwierząt „mówić()" metoda:

Zwierzę klasowe

mówić()

konsola.Log („Zwierzęta mają różne dźwięki”);


Class Cat rozszerza zwierzę


Klasa pies rozszerza zwierzę

Następnie utworzymy dwa obiekty; jeden dla „Kot”I inne dla„Pies„Klasa odpowiednio, a następnie wywołać„mówić()„Metoda klasy nadrzędnej za pomocą utworzonych obiektów:

var cat = new cat ();
kot.mówić();
var dog = nowy pies ();
pies.mówić();

Na podstawie podania poniżej możesz zobaczyć, że „mówić()„Metoda klasy zwierząt jest wykonywana dwa razy:

Przykład 2: Zastosowanie polimorfizmu z metodą zastępującą w JavaScript

Metoda zastępująca jest konkretnym rodzajem polimorfizmu, który pozwala klasie dzieci na wdrożenie metody już dodanej w klasie nadrzędnej lub podstawowej, w inny sposób. Po tym klasa dzieci zastępuje metodę klasy nadrzędnej.

JavaScript Interpreter określi, która metoda chcesz wykonać. Jeśli utworzyłeś obiekt klasy nadrzędnej, metoda istnieje w klasie nadrzędnej, zostanie wykonana. Jednak wywołanie tej samej metody z obiektem klasy dzieci wykona metodę dla dzieci lub klasy pochodnej.

W tym przykładzie zastąpimy „mówić()„Metoda„Zwierzę”Klasa za pomocą polimorfizmu. W tym celu napiszemy metodę Speak () w naszym Kot I Pies Zajęcia, które zastąpią metodę klas macierzystą. Na koniec wywołamy zdefiniowane metody przy użyciu pętli Foreach:

Zwierzę klasowe

mówić()
konsola.Log („Zwierzęta mają różne dźwięki”);

Class Cat rozszerza zwierzę

mówić()
konsola.log („Cat mówi mia meow”);

Klasa pies rozszerza zwierzę

mówić()
konsola.dziennik („pies say haof haof”);

var x = [nowy cat (), nowy pies ()]
X.foreach (funkcja (info)
informacje.mówić(); );

Wyjście pokaże ciągi dodane w „mówić()„Metoda klas kota i psów:

Można go wyraźnie zweryfikować z powyższego wyjścia, mówić() metoda Zwierzę klasa jest zastępowana przez zajęcia dla dzieci (Kot I Pies).

Dlaczego powinieneś używać polimorfizmu w JavaScript

Oto niektóre z zalet stosowania polimorfizmu w JavaScript:

  • Polimorfizm umożliwia programistom ponowne wykorzystanie kodu, co oszczędza czas.
  • Konwersja typu niejawnego jest poparta polimorfizmem.
  • Umożliwia klasę dziecięcej na taką samą metodę nazwy w klasie nadrzędnej, z inną funkcjonalnością.
  • W różnych scenariuszach funkcjonalność metody jest dodawana inaczej.
  • Pojedyncze zmienne można wykorzystać do przechowywania wielu typów danych.

Wniosek

Polimorfizm w JavaScript odnosi się do koncepcji wielokrotnego użycia jednego kawałka kodu. Korzystając z polimorfizmu, możesz zdefiniować wiele form metody, a w zależności od scenariusza czasu wykonawczego jeden typ obiektu może mieć różne zachowanie. W tym spisie omówiono polimorfizm w JavaScript za pomocą odpowiednich przykładów.