Hva er polymorfisme i JavaScript

Hva er polymorfisme i JavaScript
Begrepet polymorfisme er avledet fra ordet “Polymorf," hvor "Poly" midler "Mange”Og“Morph" midler "Forvandle en form til en annen“. I objektorientert programmering lar polymorfisme deg utføre den samme operasjonen på flere måter. Det lar deg påkalle den samme metoden med forskjellige JavaScript -objekter ved å bestå utvalgte datamedlemmer.

Denne oppskrivningen vil diskutere polymorfisme i JavaScript ved hjelp av passende eksempler. Så la oss starte!

Hva er polymorfisme i JavaScript

Objekter kan fungere annerledes i forskjellige sammenhenger fordi alle objektorienterte programmeringsprinsipper er basert på bruk av objekter. Polymorfisme refererer til konseptet at det kan være flere former for en enkelt metode, og avhengig av runtime -scenariet, kan en type objekt ha forskjellig oppførsel. Det bruker “Arv”For dette formålet.

I polymorfisme kan flere objekter ha de samme metodene, men med forskjellige implementeringer, og et objekt og dens relaterte metode er valgt basert på brukerens preferanser.

Eksempel 1: Bruke polymorfisme i JavaScript

Dyr brukes ofte for å forklare polymorfisme. I det undergitte eksemplet, “Dyr”Er en foreldreklasse mens, Katt og Hund er dens avledede eller barneklasser. Speak () -metoden er vanlig i begge barneklasser. Brukeren kan velge et objekt fra hvilken som helst barneklasse ved kjøretid, og JavaScript -tolken vil påkalle "snakke()”Metode deretter.

I følge den gitte beskrivelsen ovenfor har vi definert foreldrene Dyr klasse og dens to barneklasser, Katt og Hund, i vårt program. Så har vi lagt til en "snakke()”Metode i dyreklassen.

I dette eksemplet vil vi ikke definere "snakke()”Metode i barneklassene. Som et resultat av det vil kat- og hundeklassen bruke dyreklassen "snakke()”Metode:

Klassedyr

snakke()

konsoll.Logg ("Dyr har forskjellige lyder");


Klassekatt utvider dyret


Klassehund utvider dyret

Deretter vil vi lage to objekter; en for “Katt”Og annet for“Hund”Klasse henholdsvis og påkaller deretter"snakke()”Metode for foreldreklassen ved hjelp av de opprettede objektene:

var katt = ny katt ();
katt.snakke();
var hund = ny hund ();
hund.snakke();

Du kan se fra den undergitte utgangen som “snakke()”Metoden for dyreklassen utføres to ganger:

Eksempel 2: Bruke polymorfisme med metode som overstyrer i JavaScript

Metode overstyrer er en spesifikk type polymorfisme som tillater en barneklasse å implementere metoden som allerede er lagt til i foreldre- eller baseklasse, på en annen måte. Ved å gjøre det overstyrer barneklassen metoden i foreldreklassen.

JavaScript -tolk vil avgjøre hvilken metode du vil utføre. Hvis du har opprettet et foreldreklasseobjekt, vil metoden som finnes i foreldreklassen bli utført. Imidlertid vil påkalle den samme metoden med barneklasseobjektet utføre barnet eller avledet klassemetode.

I dette eksemplet vil vi overstyre "snakke()”Metode for“Dyr”Klasse ved bruk av polymorfisme. For dette formålet vil vi skrive tale () metode i vår Katt og Hund Klasser som vil overstyre Speak () -metoden i foreldreklassen. Til slutt vil vi påkalle de definerte metodene ved hjelp av en foreach -sløyfe:

Klassedyr

snakk ()
konsoll.Logg ("Dyr har forskjellige lyder");

Klassekatt utvider dyret

snakke()
konsoll.Logg ("Cat sier Meow Meow");

Klassehund utvider dyret

snakke()
konsoll.Logg ("Dog Say Woof Woof");

var x = [ny katt (), ny hund ()]
x.foreach (funksjon (info)
info.snakke(); );

Utgangen vil vise strengene som er lagt til i "snakke()”Metode for katte- og hundeklasser:

Det kan tydelig verifiseres fra output ovenfor, snakke() Metode av Dyr Klassen blir overstyrt av barneklassene (Katt og Hund).

Hvorfor du bør bruke polymorfisme i JavaScript

Her er noen av fordelene ved å bruke polymorfisme i JavaScript:

  • Polymorfisme gjør det mulig for programmererne å gjenbruke koden, noe som sparer tid.
  • Implisitt type konvertering støttes av polymorfisme.
  • Det lar en barneklasse få samme navnemetode lagt til i foreldreklassen, med forskjellig funksjonalitet.
  • I forskjellige scenarier blir en metodes funksjonalitet lagt til annerledes.
  • Enkeltvariabler kan brukes til lagring av flere datatyper.

Konklusjon

Polymorfisme i JavaScript refererer til begrepet gjenbruk av et enkelt stykke kode flere ganger. Ved å bruke polymorfisme, kan du definere flere former for en metode, og avhengig av runtime -scenariet, kan en type objekt ha forskjellig oppførsel. Denne oppskrivningen diskuterte polymorfisme i JavaScript ved hjelp av passende eksempler.