Mitä eroa on menetelmän ylikuormituksella ja ohituksella?



Tässä artikkelissa käsitellään keskeisiä eroja menetelmän ylikuormituksen ja Java-ohituksen välillä useilla esimerkeillä, kuten super-avainsana ja erilaiset säännöt.

Java-ohjelmointikieli on paras valinta . Käsitteillä kuten luokat , , , jne., sen kanssa työskenteleminen on erittäin helppoa . Helppokäyttöisyys ja helppo syntaksin ansiosta koodi on tehokas ja vähemmän monimutkainen. Tässä artikkelissa opit menetelmien ylikuormituksesta ja ohittamisesta Java-ohjelmassa. Tässä blogissa käsitellään seuraavia aiheita:

Mikä on Java-menetelmän ylikuormitus?

Menetelmän ylikuormitus antaa menetelmälle saman nimen, joka eroaa argumenttien tai argumenttityyppien perusteella. Se voi liittyä kokoamisajan polymorfismiin. Seuraavassa on muutamia viitteitä, jotka meidän on pidettävä mielessä, kun ylikuormitamme Java-menetelmiä.





  • Palautustyyppiä ei voi ylikuormittaa.

  • Vaikka voimme ylikuormittaa , argumenttien tai syöttöparametrien on oltava erilaisia.



  • Emme voi ylikuormittaa kahta menetelmää, jos ne eroavat toisistaan ​​vain staattisella avainsanalla.

  • Kuten muutkin staattiset menetelmät, pää () -menetelmä voidaan myös ylikuormittaa.

menetelmän ylikuormitus - menetelmän ylikuormitus ja ohittaminen java- edurekassa



Tarkastellaan yksinkertaista ohjelmaa ymmärtämään, miten menetelmän ylikuormitus toimii pythonissa.

julkinen luokka Div {public int div (int a, int b) {return (a / b)} public int div (int a, int b, int c) {return ((a + b) / c)} public static void main (String args []) {Div ob = new Div () ob.div (10, 2) ob.div (10, 2, 3)}}
 Tuotos: 5 4

Yllä olevassa ohjelmassa meillä on kaksi menetelmää, joilla on sama nimi, mutta erilaiset parametrit. Näin menetelmän ylikuormitus toimii .

Miksi menetelmä ylikuormittaa?

Menetelmän ylikuormituksen käytön etu Javassa on, että se antaa meille vapauden olla määrittelemättä funktiota uudestaan ​​ja uudestaan ​​saman asian tekemiseksi. Alla olevassa esimerkissä nämä kaksi menetelmää ovat periaatteessa jakamista, joten meillä voi olla erilaisia ​​menetelmiä samalla nimellä, mutta erilaisilla parametreilla. Se auttaa myös kokoamisajan polymorfismissa.

Main () -menetelmän ylikuormitus:

Seuraava on esimerkki main () -menetelmän ylikuormituksesta Java-käyttöjärjestelmässä.

public class Edureka {public static void main (String [] args) {System.out.println ('hello') Edureka.main ('edurekan')} public staattinen void main (String arg1) {System.out.println (' tervetuloa '+ arg1) Edureka.main (' tervetuloa ',' edurekaan ')} public static void main (String arg1, String arg2) {System.out.println (' hello ', + arg1, + arg2)}}
 Tuotos: hei tervetuloa edurekan hei, tervetuloa edurekaan

Menetelmän ylikuormitusesimerkkejä

  • Ohjelma ylikuormittaa staattisia menetelmiä Java-käyttöjärjestelmässä.
julkisen luokan testi {public static int func (int a) {return 100} public static char func (int a, int b) {return 'edureka'} public static void main (String args []) {System.out.println ( func (1)) System.out.println (func (1,3))}}
 Tuotos: 100 edurekaa
  • Ohjaa kolmen menetelmän ylikuormittaminen samalla nimellä.
public class Lisää {public int add (int a, int b) {return (a + b)} public int add (int a, int b, int c) {return (a + b + c)} public double add (double a, kaksoisb) {return (a + b)} public static void main (String args []) {Lisää ob = uusi Lisää () ob.add (15,25) ob.add (15,25,35) ob .lisätty (11.5, 22.5)}}
 Tuotos: 40 75 34

Mitä menetelmä ohittaa Java-ohjelmassa?

Jaavan perinnöihin liittyy suhde vanhempien ja lasten luokkiin. Aina kun molemmat luokat sisältävät menetelmiä samalla nimellä ja argumentteja tai parametreja, on varmaa, että yksi menetelmistä ohittaa toisen menetelmän suorituksen aikana. Suoritettava menetelmä riippuu objektista.

Jos lapsiluokan objekti kutsuu menetelmää, lapsiluokan menetelmä ohittaa vanhemman luokan menetelmän. Muussa tapauksessa, jos vanhemman luokan objekti kutsuu menetelmää, vanhemman luokan menetelmä suoritetaan.

Menetelmän ohittaminen auttaa myös ajonaikaisen polymorfismin toteuttamisessa Java-sovelluksessa. Otetaan yksinkertainen esimerkki ymmärtääksesi, miten menetelmän ohittaminen toimii jaavassa.

luokka Vanhempi {void view () {System.out.println ('tämä on vanhemman luokan menetelmä)}} class Child laajentaa vanhempaa {void view () {System.out.println (' tämä on lapsiluokan menetelmä)}} public static void main (String args []) {Vanhempi ob = uusi vanhempi () ob.view () Vanhempi ob1 = uusi lapsi () ob1.view ()
 Tuotos: tämä on lapsiluokan menetelmä

Menetelmän ohittamista koskevat säännöt

  • käyttää muokkausta voi sallia vain suuremman pääsyn ohitetulle menetelmälle.

  • TO lopullinen method ei tue menetelmän ohittamista.

  • Staattista menetelmää ei voida ohittaa.

  • Yksityisiä menetelmiä ei voida ohittaa.

  • Korvaavan menetelmän palautustyypin on oltava sama.

  • Voimme kutsua vanhemman luokan menetelmää korvaavassa menetelmässä super-avainsanalla.

    lajitteluryhmä c ++
  • TO rakentaja ei voida ohittaa, koska lapsi- ja vanhempaluokalla ei voi olla rakentajaa samalla nimellä.

Menetelmän ensisijainen esimerkki

  • Ohjelma näyttää ohittavat superavainsanalla
class Parent {void show () {System.out.println ('parent class method')} -luokka Child laajentaa Parent {void show () {super.show () System.out.println ('child class method')} public staattinen void main (String args []) {Vanhempi ob = uusi lapsi () ob.show ()}}
 Tuotos: vanhempaluokan menetelmä lapsiluokan menetelmä

Ylikuormitus vs. ohitus: Ero menetelmän ylikuormituksen ja menetelmän ohittamisen välillä

Seuraavassa on tärkeimmät erot menetelmän ylikuormituksen ja ohituksen välillä Java-ohjelmassa.

Menetelmä Ylikuormitus Menetelmän ohittaminen
  • Sitä käytetään lisäämään ohjelman luettavuutta
  • Tarjoaa menetelmän tietyn toteutuksen jo vanhempien luokassa
  • Se suoritetaan samassa luokassa
  • Siihen kuuluu useita luokkia
  • Parametrien on oltava erilaisia ​​ylikuormituksen yhteydessä
  • Parametrien on oltava samat korvaamisen tapauksessa
  • On esimerkki kokoamisajan polymorfismista
  • Se on esimerkki ajonaikaisesta polymorfismista
  • Palautustyyppi voi olla erilainen, mutta myös parametrit on muutettava.
  • Palautustyypin on oltava sama ohitettaessa
  • Staattisia menetelmiä voidaan ylikuormittaa
  • Korvaaminen ei sisällä staattisia menetelmiä.

Tässä blogissa olemme keskustelleet menetelmän ylikuormituksesta ja menetelmän ohittamisesta yksityiskohtaisesti. Luokkien, esineiden ja käsitteiden, kuten perintö ja polymorfismi, mukana on melko tärkeää saada selkeä käsitys siitä, mitä tarkoittaa ylikuormittaa tai ohittaa menetelmiä Java-sovelluksessa.

Java-ohjelmointikieli on olio-ohjelmoinnin huippu ja sisältää paljon sovelluksia. Kysynnän ja suosion mukaan pyrkivän Java-kehittäjän on hallittava ohjelmointikielen peruskäsitteet. Ilmoittaudu Edurekaan aloittaa oppimisen.

Onko sinulla kysymys meille? mainitse tämä tämän artikkelin 'menetelmä ylikuormitus vs menetelmä ohittaminen java' -kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.