Hva er Polymorphism i Java?

Polymorphism i Java oppstår når det er en eller flere klasser eller objekter som er relatert til hverandre ved arv. Med andre ord, det er mulighet for et objekt å ta mange former. Arv lar brukerne arve egenskaper og metoder, og polymorphism bruker disse metodene for å utføre forskjellige oppgaver. Så, målet er kommunikasjon, men tilnærmingen er forskjellig.

For eksempel, du har en smarttelefon for kommunikasjon., Kommunikasjonen modus du velger, kan være noe. Det kan være et anrop, en tekstmelding til en mms-melding, e-post, etc. Så, målet er vanlig at det er kommunikasjon, men deres tilnærming er annerledes. Dette kalles Polymorphism.

I denne opplæringen vil du lære-

  • Hva er Polymorphism?
  • Java Polymorphism i OOP er med Eksempel
  • Metode Overordnede
  • Forskjellen mellom Overvekt og Overordnede
  • Hva er Dynamisk Polymorphism?,
  • Super Søkeord
  • Forskjellen mellom Statisk & Dynamisk Polymorphism

Klikk her hvis video er ikke tilgjengelig

Java Polymorphism i OOP er med Eksempel på

Vi har en av foreldrene klasse, ‘Konto’ med funksjonen for innskudd og uttak. Kontoen din har 2 barn klasser
drift av innskudd og uttak er like for Lagring og Sjekke regnskapet. Så arvet metoder fra Kontoen din klasse vil fungere.,

Endre i Programvare Kravet

Det er en endring i kravspesifikasjon, noe som er så vanlig i programvare-bransjen. Du er ment å legge til funksjonalitet privilegert Bank-Konto med Kassekreditt.

For bakgrunn, kassekreditt er en fasilitet hvor du kan ta ut en mengde mer enn tilgjengelig saldo på din konto.

Så, trekke metoden for privilegert må gjennomføres på nytt., Men du trenger ikke endre testet stykke kode Sparing og Brukskonto. Dette er fordelen av OOPS

Trinn 1), Slik at når de «trukket tilbake» – metoden for å lagre kontoen din er kalt en metode fra forelder klasse er utført.

Trinn 2), Men når den «Trekke» – metoden for de privilegerte konto (kassekreditt) kalles trekke metoden definert i den privilegerte klassen er utført. Dette er Polymorphism.,

– Metoden Overordnede

Metode Overordnede er å redefinere en super klasse metode i en sub-klasse.

Regler for Metoden Overordnede

  • metoden signatur dvs. metode navn, parameterliste og retur typen har for nøyaktig å matche.
  • overstyres metoden kan utvides tilgjengelighet, men ikke begrense det, dvs. hvis det er privat i basen klasse, barnet klassen kan gjøre det offentlige, men ikke vice versa.,

Eksempel

Forskjellen mellom Overvekt og Overordnede

Hva er Dynamisk Polymorphism?

Dynamisk Polymorphism er mekanismen som flere metoder kan defineres med samme navn og signatur i superclass og underklassen. Samtalen til en overstyres metoden er løst ved kjøretid.,

Dynamisk Polymorphism Eksempel:

En referanse variabel av super klasse kan referere til en sub-klasse objektet

 Doctor obj = new Surgeon();

du Vurdere uttalelsen

obj.treatPatient();

Her er referanse variabel «obj» er av den overordnede klasse, men objektet er det som peker til er av barnet klassen (som vist i diagrammet).

obj.,n

Hvis en base class referanse brukes til å kalle en metode, metoden for å gjøres gjeldende avgjøres av JVM, avhengig av objekt-referanse peker på

For eksempel, selv om obj er en referanse til Legen, den kaller metoden av Kirurg, som den peker til en Kirurg objektet

Dette er besluttet i løpet av kjøre-tid og derfor kalles dynamisk eller run-time polymorphism

Super Søkeord

Hva hvis treatPatient metode i Kirurgen klasse ønsker å utføre den funksjonalitet som er definert i Lege-klasse, og deretter utføre sin egen spesifikk funksjonalitet?,
I dette tilfellet, søkeord superkan brukes til å få tilgang til metoder for morselskapet klasse fra barnet klassen.
treatPatient metode i Kirurgen klasse kunne skrives som:

treatPatient(){ super.treatPatient(); //add code specific to Surgeon}

nøkkelordet super kan brukes til å få tilgang til alle data medlem eller metoder for super klasse i sub-klasse.,br>Example:-To learn Inheritance, Polymorphism & super keyword

Step 1) Copy the following code into an Editor

Difference between Static & Dynamic Polymorphism

Static Polymorphism
Dynamic Polymorphism
It relates to method overloading., Det er knyttet til metode overordnede.

Feil, hvis noen, er løst på kompilere tid. Siden koden er ikke utført under kompilering, derav navnet statisk.

Eksempel:

void sum (int a , int b);void sum (float a, double b);int sum (int a, int b); //compiler gives error. 

I tilfelle en referanse variabelen kaller en overstyres metode, metode til å bli påkalt, bestemmes av objektet, referanse variabel som peker til. Dette kan bare bestemmes ved kjøring når koden under kjøring, derav navnet dynamisk.,

Ex:

//reference of parent pointing to child object Doctor obj = new Surgeon();// method of child calledobj.treatPatient();