Object-Oriented Programming (OOP) on merkittävä paradigma ohjelmistokehityksessä. Se on menetelmä suunnitella ohjelma luokkien ja esineiden avulla. Luokka on suunnitelma. Se kuvaa mitä objektin tulisi sisältää. Se määrittelee ominaisuudet tai määritteet ja menetelmät, joista objektin tulisi koostua. Siksi objekti on luokan esimerkki. Nämä esineet kommunikoivat muiden esineiden kanssa. Yksi tärkeä OOP-käsite on polymorfismi. Se on esineen kyky käyttäytyä monin tavoin. Polymorfismi luokitellaan kahteen osaan, jotka ovat ylikuormittavia ja ohittavia. Tässä artikkelissa tarkastellaan näiden kahden eroa Java-versiossa. avainero ylikuormituksen ja Java-ohituksen välillä on, että Ylikuormitus on kyky luoda useita samannimisiä menetelmiä erilaisilla toteutuksilla, ja ohittaminen on tarjota toteutusta alaluokkamenetelmälle, joka on jo olemassa superluokassa..
1. Yleiskatsaus ja keskeiset erot
2. Mikä on Java-ylikuormitus
3. Mikä Java-ohjelmassa on pakottavaa?
4. Java-ylikuormituksen ja ylikuormituksen väliset yhtäläisyydet
5. Vertailu rinnakkain - ylikuormitus vs. ohittaminen Java-taulukossa
6. Yhteenveto
Ylikuormitus on kyky luoda useita saman nimen menetelmiä erilaisilla toteutuksilla. Katso alla oleva Java-koodi.
Kuva 01: Java-ohjelma, joka selittää ylikuormituksen eri määrillä argumentteja
Yllä olevan ohjelman mukaan luokka A sisältää kaksi menetelmää samalla nimellä. Ensimmäisen summan menetelmällä on kaksi parametria. Toisen summan menetelmällä on kolme parametria. Kun luot objektin tyyppiä A ja kutsuvan summan (2,3), se kutsuu summamenetelmää kahdella parametrilla, jotka ovat summa (int a, int b) ja palauttaa 5. Luotaessa tyypin A objektia ja kutsusummaa (2) , 3,4), se kutsuu toista summamenetelmää kolmella parametrilla, joka on summa (int a, int b, int c) ja tuottaa 9.
Menetelmän nimi on sama, mutta parametrien lukumäärä on erilainen. Voidaan havaita, että sama esine käyttäytyy eri tavalla. Tätä konseptia kutsutaan ylikuormitukseksi. Sitä kutsutaan myös nimellä Staattinen sidonta tai Kokoonpano aikapolymorfismi.
Siellä voi olla myös ylikuormitusta erityyppisillä tietotyypeillä. Katso alla oleva Java-koodi.
Kuva 02: Java-ohjelma, joka selittää ylikuormituksen eri määrillä argumentteja
Yllä olevan ohjelman mukaan luokka A koostuu kahdesta samannimisestä menetelmästä. Summa (int a, int b) -menetelmä vastaanottaa kaksi kokonaislukuarvoa. Summa (kaksinkertainen kaksinkertainen b) saa kaksi kaksinkertaista arvoa. Kun luot objektin tyyppiä A ja kutsusumman (2,3), se kutsuu summaa (int a, int b) ja palauttaa arvon 5. Kun soitetaan summa (3.4, 5.6), se kutsuu summaa (double double b) ja palauta arvo 9.0. Tässä esimerkissä menetelmillä on sama nimi, mutta erityyppiset muuttujat. Tämä on myös ylikuormitusta.
Java-sovelluksessa on mahdollista rakentaa alaluokkia jo olemassa olevien luokkien kanssa. Sen sijaan, että luodaan uutta luokkaa 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 superluokassa, se tunnetaan ohittavana. Katso alla olevaa Java-ohjelmaa.
Kuva 03: Java-ohjelma ohittamiseen
Yllä olevan ohjelman mukaan luokalla A on menetelmänäyttö (). Luokka B ulottuu luokasta A, joten luokka A pääsee luokan A ominaisuuksiin ja menetelmiin. Luokalla B on menetelmänäyttö () tietyllä toteutuksella. Kun luot objektityyppiä A ja kutsutaan näyttömenetelmää, se antaa tulosteen B. Vaikka luokalla A on näyttömenetelmä, se ohitetaan luokan B näyttömenetelmäksi. Alaluokka toteuttaa menetelmää, joka on jo olemassa yliluokassa.
Tämä käsite on eräänlainen polymorfismi ja tunnetaan ylivoimaisena. Sitä kutsutaan myös nimellä Myöhäinen sitominen, Dynaaminen sidonta, Ajonaikainen polymorfismi.
Ylikuormitus vs Java-ohittaminen | |
Ylikuormitus Java-sovelluksessa on kyky luoda useita saman nimen menetelmiä erilaisilla toteutuksilla. | Ohittaminen Java tarjoaa erityisen toteutuksen alaluokan menetelmässä menetelmälle, joka on jo olemassa superluokassa. |
parametrit | |
Ylikuormituksessa menetelmillä on sama nimi, mutta eri lukumäärä parametreja tai erityyppiset parametrit. | Ohittaessa menetelmillä on sama nimi ja parametrien on oltava samat. |
Teemat | |
Ylikuormitus tapahtuu luokassa. | Ohittaminen tapahtuu kahdessa luokassa, joilla on perintosuhde. |
synonyymit | |
Ylikuormitusta kutsutaan kootuksi aikapolymorfismiksi. | Ohittamista kutsutaan juoksuajan polymorfismiksi. |
Polymorfismi on tärkeä käsite olio-ohjelmoinnissa. Se antaa esineelle kyvyn käyttäytyä monin tavoin. Tämä voi olla joko ylikuormitusta tai ohittamista. Ylikuormitus on käännösajan polymorfismi ja ohittaminen on suorituksenaikainen polymorfismi. Ne ovat hyödyllisiä ohjelmistosovellusten kehittämisessä. Ero ohituksen ja ylikuormituksen välillä on se, että Ylikuormitus on kyky luoda useita saman nimen menetelmiä erilaisilla toteutuksilla ja Ylikuormitus tarjoaa erityisen toteutuksen alaluokan menetelmässä menetelmälle, joka on jo olemassa superluokassa. Java-sovelluksessa on mahdollista toteuttaa sekä ylikuormitus että ohitus.
Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio täältä Java-ylikuormituksen ja ohittamisen ero
1.tutorialspoint.com. ”Java-ohittaminen.” Kohta. Saatavilla täältä
2. ”Menetelmän ylikuormitus Java - Javatpoint”. Saatavilla täältä
3. "Menetelmän ohittaminen Java - javatpointissa." Saatavilla täältä