Sissejuhatus polümorfismi

Polümorfism on kontseptsioon, mille abil saab teostada erinevat moodi ühetoimelisi toiminguid. See on tuletatud kahest kreeka sõnast, see tähendab polü ja morphs. “Polü” tähendab paljusid ja “morfid” tähendab vorme. Edaspidi tähendab polümorfism mitmeid vorme. Objektorienteeritud programmeerimisel võib seda määratleda kui programmeerimiskeele võimet töödelda objekte erinevalt, sõltuvalt nende klassist või andmetüübist. Põhimõtteliselt võime seda määratleda kui tuletatud klasside võimet meetodeid uuesti määratleda.

Mõistmine

Kaks polümorfismi tüüpi on kompileeritud aja polümorfism ja jooksva aja polümorfism. Kompileeritud aja polümorfism teostatakse meetodi ülekoormamise teel ja käitusaegne polümorfism meetodi alistamisega. Kestuspolümorfism, mida nimetatakse ka dünaamilise meetodi dispetšiks, on protsess, kus ülespakutud meetodi kutsumine lahendatakse töö ajal, vaatamata kompileerimise ajale. Siin kutsutakse ülepakutud meetod läbi vanema klassi referentsmuutuja. Samuti ei saa andmeliikmed saavutada Runtime'i polümorfismi.

Kuidas muudab polümorfism töötamise nii lihtsaks?

See on objektorienteeritud programmeerimise karakteristik. Polümorfismi kasutades võib klass näidata erinevaid funktsioone ka siis, kui neil on ühine liides. Seega võime öelda, et see pikaajaline mõiste seletab põhimõtet. Polümorfismi juures on tähelepanuväärne asjaolu, et eri klasside töökoodid ei nõua selle klassi tundmist, kuna seal on kasutusviis sama.

See on objektorienteeritud programmeerimise karakteristik. Polümorfismi kasutades võib klass näidata erinevaid funktsioone ka siis, kui neil on ühine liides. Seega võime öelda, et see pikaajaline mõiste seletab väga põhimõtet. Polümorfismi juures on tähelepanuväärne asjaolu, et eri klasside töökoodid ei nõua selle klassi tundmist, kuna seal on kasutusviis sama.

Mõelge polümorfismi reaalse maailma stsenaariumile. Võtke näide nupust. Me teame, et vajutades nuppu, võime nuppu klõpsata, kuid me ei tea nupu vajutamise väljundit ega selle kasutamise viidet. Siinkohal tuleb märkida, et mõlemal juhul ei mõjuta tulemus selle kasutamise viisi.

Seega on polümorfismi põhieesmärk teha objekte, mis on sõltuvalt vajadustest omavahel asendatavad.

Mida saate polümorfismiga teha?

Kui lasteklassis on sama meetod, mis vanemklassis deklareeritud, siis nimetame seda meetodiks, mis on ülimuslik.

Teisisõnu, kui lasteklass pakub oma vanema klassi poolt deklareeritud meetodi rakendamist, nimetatakse seda meetodi ülimuslikuks. Meetodi ülimusest tuleb meelde jätta järgmised asjad:

  • Meetodil peab olema sama nimi, mida mainiti vanemklassis
  • Meetodil peab olema ka sama parameeter, mida mainiti vanemklassis.
  • Seal peab olema pärand, see tähendab IS-A suhe.

Kas töötate polümorfismiga?

Kui klassil on mitu meetodit, millel on sama nimi, kuid erinevad parameetrid, nimetatakse seda meetodi ülekoormamiseks.

Oletame, et peame tegema ainult ühe toimingu, kui meetoditel sama nimi oleks, suurendaks programmi loetavus. Java-meetodi ülekoormise viisid on järgmised:

  • Argumentide arvu muutmine
  • Andmetüübi muutmine

Kuid Java puhul pole see võimalik, kui muudame ainult meetodi tagastamise tüüpi.

Eelised

  • Polümorfism aitab programmeerijatel koodi ja ka kunagi kirjutatud klasse taaskasutada, et neid testida ja rakendada. (Koodi korduvkasutatavus)
  • Üks muutuja nimi võib salvestada mitut andmetüüpi (int, float, double, long jne) muutujaid.
  • Suurendab programmi loetavust.

Miks peaksime kasutama polümorfismi?

Lisaks dünaamilisele ja staatilisele polümorfismile on ka Java põhiprogrammidest mõned Java programmeerimisomadused.

Need on - sunnid, polümorfsed parameetrid ja operaatori ülekoormus

Sundimine

Mõistagem sundi väga lihtsa näitega. Mõelge stringile, mille väärtus on „sundsusklass:”. Mõelge veel ühele täisarvule, mille väärtus on 1. Nüüd, mis juhtub, kui liitute stringi väärtusega täisarvuga? Selle liitmise väljundiks oleks “sunniklass: 1”. Seda nimetatakse sunniks. Tüüpiline kaudne teisendamine toimub tüüpvigade vältimiseks. Seda teeb kompilaator.

Operaatori ülekoormus

Enne kui alustate operaatori ülekoormamisest, mida nimetatakse ka meetodi ülekoormamiseks, tutvume ühe näitega. Mõelge stringi väärtusega “Operaator” ja teist stringi väärtusele “Ülekoormamine”. Kasutage nende kahe stringiga plussmärki (+), nagu lisate kaks täisarvu. (+) Ühendab need kaks stringi. Kahe täisarvu korral tagastatakse kahe täisarvu summa. Kui ühel sümbolil või operaatoril on võimalus muuta nende tähendust sõltuvalt nende kasutamisviisist, nimetatakse eksponeeritud polümorfismi tüüpi operaatori ülekoormamiseks.

Parameetrid

Polümorfismis võib objekt esineda mitmel kujul. Java keeles tähistab see juurdepääsu võimaldamist objektile ühel järgmistest viisidest, näiteks -

1. kasutades oma põhiklassi või superklassi võrdlusmuutujat

2. kasutades selle klassi etalonmuutujat, milles see eksisteerib.

Miks me vajame polümorfismi?

Polümorfismi vajalikkuse peamine põhjus on see, et seda mõistet kasutatakse laialdaselt pärandi rakendamisel. See mängib olulist rolli, võimaldades sama välise liidese jagamisel objektidel varieeruda sisestruktuure. Polümorfism on selgelt öeldud paljude jaoks kaardistatud vormiks.

Reguleerimisala

Köitmine on meetodikõne ühendamine meetodikorpusega. Meil on kahte tüüpi köitmist.

Staatiline köitmine (varajane köitmine): kui objekti tüüp määratakse kompileerimise ajal.

Dünaamiline köitmine (hiline sidumine): kui objekti tüüp määratakse käitusaja jooksul.

Järeldus

Polümorfismi peetakse seega objektorienteeritud programmeerimise üheks väga oluliseks tunnuseks. Kui rääkida reaalses elus esinevast polümorfismi näitest, siis võib see olla ka inimene samal ajal omada erinevaid omadusi, näiteks mees on samal ajal poeg, abikaasa, töötaja. Nii omandab sama inimene erinevates olukordades erineva käitumise. Seda nimetatakse objektorienteeritud mõttes polümorfismiks, mis on objektorienteeritud programmeerimise oluline omadus.

Soovitatavad artiklid

See on olnud teemaks Mis on polümorfism ?. Siin arutasime polümorfismi töötamist, ulatust, vajadust ja eeliseid. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Mis on JavaScript?
  2. Mis on HTML
  3. Mis on Python
  4. Polümorfism C # -s
  5. Massiivid Java programmeerimises
  6. Tüübi teisendus Java-s koos tüüpide ja näidetega
  7. Java konverteerimise juhend näidetega
  8. Staatiline köitmine ja dünaamiline köitmine | Sissejuhatus | Kasutab

Kategooria: