Introduksjon til polymorfisme

Polymorfisme er konseptet ved hjelp av hvilken enkelt handling på forskjellige måter kan utføres. Det er avledet fra to greske ord, det vil si poly og morfer. “Poly” betyr mange og “morfer” betyr former. Fremover antyder polymorfisme mange former. I objektorientert programmering kan det defineres som et programmeringsspråk evne til å behandle objekter annerledes, avhengig av enten deres klasse eller datatype. I utgangspunktet kan vi definere det som muligheten for avledede klasser til å omdefinere metoder.

forståelse

De to typene polymorfisme er kompilertidspolymorfisme og polymorfisme av løpetid. Kompileringstid-polymorfisme utføres ved metodebelastning og runtime-polymorfisme ved metodeoverskridelse. Runtime-polymorfisme også kalt Dynamic Method Dispatch er en prosess der oppfordring til en overstyret metode blir løst ved kjøretid til tross for ved kompileringstid. Her blir den overstyrte metoden kalt gjennom en referansevariabel til en foreldreklasse. Datamedlemmer kan heller ikke oppnå Runtime-polymorfisme.

Hvordan gjør polymorfisme å jobbe så enkelt?

Det er en objektorientert programmeringskarakteristikk. Ved å bruke polymorfisme kan en klasse utvise forskjellige funksjoner selv når de har et felles grensesnitt. Dermed kan vi si at på lang sikt forklarer et grunnleggende konsept. Det bemerkelsesverdige med polymorfisme er at all arbeidskoden i forskjellige klasser ikke krever å vite om klassen som brukes av den, ettersom bruksmåten er den samme.

Det er en objektorientert programmeringskarakteristikk. Ved å bruke polymorfisme kan en klasse utvise forskjellige funksjoner selv når de har et felles grensesnitt. Dermed kan vi si at på lang sikt forklarer et veldig grunnleggende konsept. Det bemerkelsesverdige med polymorfisme er at all arbeidskoden i forskjellige klasser ikke krever å vite om klassen som brukes av den, ettersom bruksmåten er den samme.

Tenk på et virkelighetsscenario for polymorfisme. Ta et eksempel på en knapp. Vi vet at ved å bruke noe trykk kan vi klikke på knappen, men vi vet ikke resultatet av å trykke på knappen eller referansen til bruken. Poenget her å merke seg er uansett at resultatet ikke ville påvirke måten det brukes på.

Så det grunnleggende målet med polymorfisme er å lage gjenstander som kan byttes ut avhengig av behovene.

Hva kan du gjøre med polymorfisme?

Når barneklasse har samme metode som en deklarert i foreldreklassen, kaller vi det en metode som overstyrer.

Eller med andre ord, hvis en barneklasse gir implementeringen av metoden som er blitt erklært av foreldreklassen, kalles det metodeoverskridende. Enkelte ting å huske på ved overstyring av metode er:

  • Metoden må ha samme navn som nevnt i foreldreklassen
  • Metoden må også ha samme parameter som den som er nevnt i foreldreklassen.
  • Det må være arven, det vil si IS-A-forholdet.

Jobber du med polymorfisme?

Når en klasse har flere metoder som har samme navn, men forskjellige parametere, blir det referert til som Method Overloading.

Anta at vi bare må utføre en operasjon, og så å ha samme navn som metodene vil øke programmets lesbarhet. Måter å overbelaste metoden i Java er:

  • Endre antall argumenter
  • Endre datatype

I Java er det imidlertid ikke mulig hvis vi bare endrer returtypen til metoden.

Fordeler

  • Polymorphism hjelper programmerere med å gjenbruke koden og også klassene som en gang er skrevet for å bli testet og implementert. (Gjenbrukbarhet av kode)
  • Et enkelt variabelnavn kan lagre variabler av flere datatyper (int, float, double, long, etc).
  • Øker programmets lesbarhet.

Hvorfor skal vi bruke polymorfisme?

Bortsett fra dynamisk polymorfisme og statisk polymorfisme, er det noen Java-programmeringsegenskaper som viser annen polymorfisme enn de to hovedtyper.

Dette er - Tvang, polymorfe parametere og overbelastning av operatører

tvang

La oss forstå tvang med et veldig enkelt eksempel. Vurder en streng med verdien "tvangsklasse:". Vurder et annet heltall med verdi 1. Hva skjer nå når du konkaterer en strengverdi med en heltalverdi? Resultatet av denne sammenkjøringen vil være "tvangsklasse: 1". Dette er det som kalles Tvang. Den implisitte typen konvertering gjøres for å forhindre typefeil. Det gjøres av kompilatoren.

Overbelastning av operatøren

Før vi begynner med operatørens overbelastning, også kjent som metodebelastning, la oss gå gjennom et eksempel. Betrakt en streng med verdien "Operator" og en annen streng som "Overloading". Bruk plussymbolet (+) med disse to strengene akkurat som du legger til to heltall. (+) Vil slå sammen disse to strengene. Når det gjelder to heltall, returneres summen av to heltall. Når ett symbol eller en operatør har muligheten til å endre betydningen avhengig av måten de brukes på, kalles typen polymorfisme som vises, Operator Overloading.

parametere

I polymorfisme kan et objekt vises i mange former. I Java refererer det til å gi tilgang til et objekt på en av følgende måter som:

1. bruker referansevariabelen til foreldreklassen eller superklassen

2. ved å bruke referansevariabelen til klassen den eksisterer i.

Hvorfor trenger vi polymorfisme?

Hovedårsaken til at polymorfisme er nødvendig er at dette konseptet er mye brukt i implementering av arv. Det spiller en viktig rolle i å la objekter få varierte interne strukturer når de deler det samme eksterne grensesnittet. Polymorfisme er tydelig oppgitt som en som er kartlagt for mange.

omfang

Binding kobler en metodeanrop til metodekroppen. Vi har to typer binding.

Statisk binding (tidlig binding): Når objekttypen bestemmes på kompileringstidspunktet.

Dynamic Binding (Late Binding): Når objekttypen bestemmes ved kjøretid.

Konklusjon

Polymorfisme blir dermed sett på som en av de svært viktige funksjonene i den objektorienterte programmeringen. Hvis du snakker om et ekte eksempel på polymorfisme, kan det være en person på samme tid kan ha forskjellige egenskaper, for eksempel er en mann på samme tid en sønn, en ektemann, en ansatt. Så samme person tilegner seg ulik atferd i forskjellige situasjoner. Dette, objektorientert, kalles polymorfisme, et viktig kjennetegn ved objektorientert programmering.

Anbefalte artikler

Dette har vært en guide til Hva er polymorfisme? Her diskuterte vi Working, Omfang, behov og fordeler ved polymorfisme. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Hva er JavaScript?
  2. Hva er HTML
  3. Hva er Python
  4. Polymorfisme i C #
  5. Arrays i Java-programmering
  6. Skriv konvertering i Java med typer og eksempler
  7. Veiledning for konvertering i Java med eksempler
  8. Statisk binding og dynamisk binding | Innledning | Bruker