Põhierinevus - ülekoormamine vs Java-s ülekäimine
Objektorienteeritud programmeerimine (OOP) on tarkvaraarenduse peamine paradigma. See on metoodika programmi kujundamiseks klasside ja objektide abil. Klass on plaan. See kirjeldab, mida objekt peaks sisaldama. See määratleb omadused või atribuudid ja meetodid, millest objekt peaks koosnema. Seetõttu on objekt klassi eksemplar. Need objektid suhtlevad teiste objektidega. OOP üks peamisi mõisteid on polümorfism. See on objekti võime käituda mitmel viisil. Polümorfism on liigitatud kahte ossa, mis on ülekoormatud ja ülekaalukad. Selles artiklis käsitletakse nende kahe erinevust Java-s. Peamine erinevus Java-i ülekoormamise ja ülekandmise vahel on see, et ülekoormamine on võime luua mitu samanimelist meetodit erinevate rakendustega ja ülekirjutamine on pakkuda rakendust alaklassimeetodile, mis on juba olemas superklassis.
SISU
1. Ülevaade ja peamised erinevused
2. Mis on Java-s ülekoormamine
3. Mis on Java-s ülimuslik?
4. Java-i ülekoormamise ja alistamise sarnasused
5. Kõrvuti võrdlus - ülekoormus vs Java-i alistamine tabelina
6. Kokkuvõte
Mis on Java ülekoormamine?
Ülekoormamine on võime luua mitu samanimelist meetodit erinevate rakendustega. Vaadake allpool olevat Java-koodi.
Joonis 01: Java-programm, mis selgitab ülekoormamist erinevate argumentide arvuga
Vastavalt ülaltoodud programmile sisaldab klass A kahte sama nimega meetodit. Esimese summa meetodil on kaks parameetrit. Teise summa meetodil on kolm parameetrit. Kui loote A-tüüpi objekti ja helistate summa (2,3), kutsub see summa-meetodit kahe parameetriga, mis on summa (int a, int b) ja tagastab 5. A-tüüpi objekti loomisel ja summa (2) kutsumisel, 3,4), kutsub see kolme parameetriga teist summameetodit, mis on summa (int a, int b, int c) ja tagastab 9.
Meetodi nimi on sama, kuid parameetrite arv on erinev. Võib täheldada, et sama objekt käitub erinevalt. Seda mõistet nimetatakse ülekoormuseks. Seda nimetatakse ka staatiliseks sidumiseks või kompileeritud ajapolümorfismiks.
Neid võib ka üle koormata erinevate andmetüüpidega. Vaadake allpool olevat Java-koodi.
Joonis 02: Java-programm, mis selgitab ülekoormamist erinevate argumentide arvuga
Vastavalt ülaltoodud programmile koosneb A klass kahest samanimelisest meetodist. Summa (int a, int b) meetod saab kaks täisarvu. Summa (topelt topelt b) saab kaks topeltväärtust. A-tüüpi objekti loomisel ja summa (2,3) väljakutsumisel kutsub see summa (int a, int b) ja tagastab väärtuse 5. Summa (3.4, 5.6) väljakutsumisel kutsub see summa (double double b) ja tagastab väärtuse 9,0. Selles näites on meetoditel sama nimi, kuid erinevat tüüpi muutujad. See on ka ülekoormus.
Mis on Java-s ülimuslik?
Java-s on võimalik juba olemasolevate klassidega ehitada alaklasse. Uue klassi algusest peale loomise asemel on võimalik kasutada juba olemasoleva klassi omadusi ja meetodeid. Olemasolev klass on superklass ja tuletatud klass on alaklass. Kui alaklass pakub juba superklassis oleva meetodi rakendamist, on see tuntud kui ülimuslik. Vaadake allolevat Java-programmi.
Joonis 03: Java-programm alistamiseks
Vastavalt ülaltoodud programmile on A-klassil meetodi kuvamine (). Klass B ulatub klassist A, seega on klassi A omadustele ja meetoditele juurdepääsetav klass B. Klass B-l on konkreetse rakendusega meetodinäidik (). Kui loote tüübi A objekti ja helistate kuvamismeetodile, annab see väljundi B. Kuigi A-klassil on kuvamismeetod, tühistatakse see B-klassi kuvamismeetodina. Alamklass rakendab meetodit, mis on superklassis juba olemas.
See mõiste on teatud tüüpi polümorfism ja tuntud kui ülekaalukas. Seda nimetatakse ka hiliseks sidumiseks, dünaamiliseks sidumiseks, käituse polümorfismiks.
Millised on Java-s ülekoormamise ja ülekaalustamise sarnasused?
- Mõlemad on polümorfismi tüübid.
- Ülekoormamisel ja ülekandmisel on meetoditel sama nimi.
Mis vahe on Java-s ülekoormamise ja alistamise vahel?
Erinev artikkel keskel enne tabelit
Ülekoormus vs ülekaal Java-s |
|
Java ülekoormamine on võime luua mitu samanimelist meetodit erinevate rakendustega. | Java-s ülimuslik on konkreetne juurutamine alamklassimeetodis, kuna superklassis on meetod juba olemas. |
Parameetrid | |
Ülekoormuse korral on meetoditel sama nimi, kuid erinev arv parameetreid või erinevat tüüpi parameetrid. | Ülekaalukalt on meetoditel sama nimi ja parameetrid peavad olema samad. |
Teemad | |
Ülekoormus toimub klassi sees. | Ülekirjutamine toimub kahes klassis, millel on pärilussuhe. |
Sünonüümid | |
Ülekoormust nimetatakse kompileeritud ajapolümorfismiks. | Ülekandmist nimetatakse tööaja polümorfismiks. |
Kokkuvõte - ülekoormus vs ülekaal Java-s
Polümorfism on objektorienteeritud programmeerimise peamine mõiste. See annab objektile võimaluse käituda mitmel viisil. See võib olla nii ülekoormus kui ka ülekaal. Ülekoormus on kompileerimisaja polümorfism ja ülekaal on käituse polümorfism. Need on kasulikud tarkvararakenduste arendamisel. Alistamise ja ülekoormamise vahe seisneb selles, et ülekoormamine on võime luua mitu samanimelist meetodit erinevate rakendustega ja ülekäimine pakub konkreetset rakendamist alamklassimeetodis, kuna meetod on üleklassis juba olemas. Java-s on võimalik rakendada nii ülekoormamist kui ka ülekaalu.
Laadige alla Java-faili PDF-i ülekoormus vs ülekaal
Selle artikli PDF-versiooni saate alla laadida ja kasutada võrguühenduseta eesmärkidel, nagu tsiteeritud. Laadige siit alla PDF-versioon. Erinevus Java ülekoormamise ja alistamise vahel