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 super
voidaan 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
|
|
---|---|
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(); |