Mikä on Polymorfismi Java?

polymorfismi Javassa tapahtuu, kun on yksi tai useampi luokka tai esine, jotka liittyvät toisiinsa perintönä. Toisin sanoen se on esineen kyky saada monia muotoja. Perintö antaa käyttäjien periä attribuutit ja menetelmät, ja polymorfismi käyttää näitä menetelmiä erilaisten tehtävien suorittamiseen. Tavoitteena on siis viestintä, mutta lähestymistapa on erilainen.

esimerkiksi, sinulla on älypuhelin viestintään., Valitsemasi viestintätapa voi olla mitä tahansa. Se voi olla puhelu, tekstiviesti, kuvaviesti, posti jne. Tavoite on siis yhteinen, eli kommunikaatio, mutta heidän lähestymistapansa on erilainen. Tätä kutsutaan Polymorfismiksi.

tässä opetusohjelmassa opit –

  • mitä polymorfismi on?
  • Java Polymorfismi vuonna OOP on Esimerkki
  • Ensisijainen Menetelmä
  • Ero Ylikuormitus ja Pakottava
  • Mitä on Dynaaminen Polymorfismi?,
  • Super Avainsanan
  • Ero Staattisen & Dynaaminen Polymorfismi

Klikkaa tästä, jos video ei ole käytettävissä

Java Polymorfismi vuonna OOP on Esimerkki

Olemme yhden vanhemman luokan, ”Tili”, jossa funktio tallettaa ja nostaa. Tilillä on 2 lapsiluokkaa
talletuksen ja noston toiminta on sama tilien säästämiseen ja tarkistamiseen. Niinpä Tililuokalta periytyvät menetelmät toimivat.,

Muutos Ohjelmistoja, Vaatimus

Siellä on muutos vaatimusmäärittely, jotain, joka on niin yleinen software teollisuudelle. Sinun pitäisi lisätä toimintoja etuoikeutettu Pankki-Tili luotollinen.

taustalla tilinylitys on tilinylitysjärjestelmä, jossa voit nostaa tililläsi olevaa saldoa enemmän.

joten peruutusmenetelmä etuoikeutettuja tarpeita varten uudelleen täytäntöön pantavaksi., Mutta et muuta testattua koodinpätkää säästöissä ja tilin tarkistamisessa. Tämä on etu OHO

Vaihe 1) siten, että kun ”peruuttaa” menetelmä säästää tili on nimeltään menetelmä vanhemman tili-luokassa on toteutettu.

Vaihe 2), Mutta kun ”Peruuttaa” menetelmä etuoikeutettu tilin (luotollinen) kutsutaan peruuttaa määriteltyä menetelmää etuoikeutettu luokka on toteutettu. Tämä on polymorfismia.,

Ensisijainen Menetelmä

Ensisijainen Menetelmä on uudistunut super luokan menetelmä on sub class.

Säännöt Ensisijainen Menetelmä

  • menetelmä allekirjoitus eli metodin nimi ja parametrilista ja paluuarvon tyyppi on täsmälleen sama.
  • yliohjatut menetelmä voi laajentaa saavutettavuus mutta ei kapea, ts. jos se on yksityinen perustaa luokan, lapsen luokka voi tehdä julkisia, mutta ei päinvastoin.,

Esimerkki

Ero Ylikuormitus ja Pakottava

Mitä on Dynaaminen Polymorfismi?

Dynaaminen Polymorfismi on mekanismi, jonka useita menetelmiä voidaan määritellä sama nimi ja allekirjoitus yliluokka ja alaluokka. Puhelu ylirajattuun menetelmään ratkeaa ajonaikoina.,

Dynaaminen Polymorfismi Esimerkki:

viittaus muuttujan super luokka voi viitata luokan objekti,

 Doctor obj = new Surgeon();

Harkitse lausunnon,

obj.treatPatient();

Tässä viittaus muuttujan ”obj” on vanhemman luokan, mutta kohde on osoittaa on lapsen luokan (kuten kuvassa näkyy).

obj.,n

Jos perustaa luokan viittaus on tapana kutsua menetelmä, menetelmä, voidaan käyttää päättää, JAVA, riippuen objektin viittaus osoittaa

esimerkiksi, vaikka tavoite on viittaus Lääkäri, se kutsuu menetelmä Kirurgi, koska se pistettä Kirurgi esine

Tämä on päättänyt aikana run-time, ja siksi kutsutaan dynaaminen tai run-time polymorfismi

Super Avainsanan

Mitä jos treatPatient menetelmä Kirurgi luokka haluaa toteuttaa toiminnallisuus on määritelty Lääkäri luokan ja sitten tehdä oma erityinen toiminnallisuus?,
tässä tapauksessa avainsana supervoidaan käyttää menetelmiä vanhemman luokan lapsi luokassa.
treatPatient menetelmä Kirurgi luokka voidaan kirjoittaa seuraavasti:

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

avainsana super voidaan käyttää kaikki tiedot, jäsenen tai menetelmiä super luokan sub class.,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., se liittyy menetelmän ohittamiseen.

mahdolliset virheet ratkeavat käännettäessä. Koska koodia ei suoriteta kokoamisen aikana, niin nimi staattinen.

Esim:

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

jos viittaus muuttuja on soittaa yliohjatut menetelmä, menetelmä, voidaan käyttää määräytyy kohteen, sinun viittaus muuttuja osoittaa. Tämä voidaan määrittää vain ajonaikana, kun koodi on käytössä, joten nimi dynaaminen.,

Ex:

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