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:
KlassedyrDeretter 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 ();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:
KlassedyrUtgangen 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:
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.