Tärkein ero - ylikuormitus vs. ohitus Java-ohjelmassa
Kohdekeskeinen ohjelmointi (OOP) on merkittävä paradigma ohjelmistokehityksessä. Se on menetelmä suunnitella ohjelma luokkien ja objektien avulla. Luokka on suunnitelma. Se kuvaa mitä objektissa tulisi olla. Se määrittelee ominaisuudet tai määritteet ja menetelmät, joista objektin tulisi koostua. Siksi objekti on luokan esiintymä. Nämä objektit ovat yhteydessä muihin esineisiin. Yksi OOP: n pääkäsitteistä on polymorfismi. Se on kohteen kyky käyttäytyä monin tavoin. Polymorfismi luokitellaan kahteen osaan, jotka ovat ylikuormittavia ja ohittavia. Tässä artikkelissa käsitellään näiden kahden Java-eroa. Tärkein ero ylikuormituksen ja ohituksen välillä Java-palvelussa on se, että ylikuormitus on kyky luoda useita samannimisiä menetelmiä eri toteutuksilla ja ohittaminen on tarjota toteutus aliluokan menetelmälle, joka on jo olemassa yliluokassa.
SISÄLLYS
1. Yleiskatsaus ja keskeinen ero
2. Mikä on Java-ylikuormitus
3. Mikä on Java-ohitusta
4. Yavan ylikuormituksen ja ohittamisen yhtäläisyydet Java-ohjelmassa
5. Vertailu rinnakkain - ylikuormitus vs Java-ohitus taulukkomuodossa
6. Yhteenveto
Mikä on Java-ylikuormitus?
Ylikuormitus on kyky luoda useita samannimisiä menetelmiä eri toteutuksilla. Katso alla oleva Java-koodi.
Kuva 01: Java-ohjelma, joka selittää ylikuormituksen eri argumenttimäärillä
Yllä olevan ohjelman mukaan luokka A sisältää kaksi samaa nimeä olevaa menetelmää. Ensimmäisen summan menetelmällä on kaksi parametria. Toisella summamenetelmällä on kolme parametria. Kun luot tyypin A objektin ja soitat summan (2,3), se kutsuu summetodia kahdella parametrilla, jotka ovat summa (int a, int b) ja palauttaa 5. Luodessaan tyypin A objektin ja kutsuttaessa summaa (2), 3,4), se kutsuu toista summamenetelmää kolmella parametrilla, joka on summa (int a, int b, int c) ja palauttaa arvon 9.
Menetelmän nimi on sama, mutta parametrien määrä on erilainen. Voidaan havaita, että sama esine käyttäytyy eri tavalla. Tämä käsite tunnetaan ylikuormituksena. Sitä kutsutaan myös staattiseksi sitomiseksi tai Compiles Time Polymorphismiksi.
Siellä voidaan myös ylikuormittaa erilaisia tietotyyppejä. Katso alla oleva Java-koodi.
Kuva 02: Java-ohjelma, joka selittää ylikuormituksen eri argumenttimäärillä
Yllä olevan ohjelman mukaan luokka A koostuu kahdesta menetelmästä, joilla on sama nimi. Summa (int a, int b) -menetelmä saa kaksi kokonaislukua. Summa (kaksinkertainen kaksinkertainen b) saa kaksi kaksinkertaista arvoa. Kun luot tyypin A objektin ja soitat summan (2,3), se kutsuu summan (int a, int b) ja palauttaa arvon 5. Kun soitat summaa (3.4, 5.6), se kutsuu summaa (kaksinkertainen kaksinkertainen b) ja palauta arvo 9,0. Tässä esimerkissä menetelmillä on sama nimi, mutta erityyppiset muuttujat. Tämä on myös ylikuormitusta.
Mitä Java-ohitus on?
Java-tilassa on mahdollista rakentaa alaluokkia jo olemassa olevilla luokilla. Uuden luokan luomisen sijasta alusta alkaen on mahdollista käyttää jo olemassa olevan luokan ominaisuuksia ja menetelmiä. Nykyinen luokka on yliluokka, ja johdettu luokka on alaluokka. Kun alaluokka tarjoaa toteutuksen menetelmälle, joka on jo yliluokassa, se tunnetaan ohittavana. Katso alla olevaa Java-ohjelmaa.
Kuva 03: Java-ohitus ohittamiseen
Yllä olevan ohjelman mukaan luokassa A on menetelmän näyttö (). Luokka B ulottuu luokasta A, joten luokan A ominaisuuksiin ja menetelmiin pääsee luokkaan B. Luokassa B on menetelmän näyttö (), jolla on erityinen toteutus. Kun luot tyypin A objektin ja soitat näyttötapaa, se antaa lähdön B. Vaikka luokassa A on näyttötapa, se ohitetaan luokan B näyttötavaksi. Alaluokka toteuttaa menetelmää, joka on jo olemassa superluokassa.
Tämä käsite on eräänlainen polymorfismi ja tunnetaan pakottavana. Sitä kutsutaan myös myöhäiseksi sitomiseksi, dynaamiseksi sitomiseksi, ajonaikaiseksi polymorfismiksi.
Mitkä ovat Yavan ylikuormituksen ja ohittamisen yhtäläisyydet?
- Molemmat ovat polymorfismityyppejä.
- Ylikuormituksessa ja ohituksessa menetelmillä on sama nimi.
Mikä on ero ylikuormituksen ja ohituksen välillä Java-ohjelmassa?
Erilainen artikkeli keskellä taulukkoa
Ylikuormitus vs. ohitus Java-ohjelmassa |
|
Java-ylikuormitus on kyky luoda useita samannimisiä menetelmiä erilaisilla toteutuksilla. | Java-ohitus tarjoaa tietyn toteutuksen alaluokamenetelmässä menetelmälle, joka on jo olemassa yliluokassa. |
Parametrit | |
Ylikuormituksessa menetelmillä on sama nimi, mutta eri määrä parametreja tai erityyppisiä parametreja. | Korvauksena menetelmillä on sama nimi ja parametrien on oltava samat. |
Teemat | |
Ylikuormitus tapahtuu luokassa. | Ohittaminen tapahtuu kahdessa luokassa, joilla on perintösuhde. |
Synonyymit | |
Ylikuormitusta kutsutaan kootuksi aikapolymorfismiksi. | Ohittamista kutsutaan ajoaikapolymorfismiksi. |
Yhteenveto - ylikuormitus vs ohittaa Java
Polymorfismi on pääkohde olio-ohjelmoinnissa. Se tarjoaa objektille mahdollisuuden käyttäytyä monin tavoin. Tämä voi olla joko ylikuormitusta tai ohittamista. Ylikuormitus on kääntöaikapolymorfismi ja ohittaminen on ajonaikainen polymorfismi. Ne ovat hyödyllisiä ohjelmistosovellusten kehittämisessä. Ero ohittamisen ja ylikuormituksen välillä on se, että ylikuormitus on kyky luoda useita samannimisiä menetelmiä erilaisilla toteutuksilla ja ohittaminen tarjoaa erityisen toteutuksen alaluokamenetelmässä menetelmälle, joka on jo olemassa yliluokassa. Java-ohjelmassa on mahdollista toteuttaa sekä ylikuormitus että ohitus.
Lataa PDF-tiedosto Ylikuormitus vs Ohitus Java-käyttöjärjestelmässä
Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainausviestin mukaan. Lataa PDF-versio täältä Javan ylikuormituksen ja ohituksen ero