Video: Ero Ohittamisen Ja Ylikuormituksen Välillä
2024 Kirjoittaja: Mildred Bawerman | [email protected]. Viimeksi muokattu: 2023-12-16 08:38
Korvaava vs. ylikuormitus
Menetelmän ohittaminen ja menetelmän ylikuormitus ovat kaksi käsitettä / tekniikkaa / ominaisuutta, joita löytyy joillakin ohjelmointikielillä. Molemmat käsitteet sallivat ohjelmoijan tarjota erilaisia toteutuksia menetelmille, joilla on sama nimi. Menetelmän ohittaminen antaa ohjelmoijan tarjota vaihtoehtoisen toteutuksen alaluokassa menetelmälle, joka on jo määritelty sen superluokan sisällä. Menetelmän ylikuormitus antaa ohjelmoijan tarjota erilaisia toteutuksia useille menetelmille, joilla on sama nimi (samassa luokassa).
Mikä on ohittaminen?
Kuten edellä mainittiin, luokka voi laajentaa super- tai vanhempaluokkaa olio-ohjelmointikielillä. Lapsiluokalla voi olla omat menetelmänsä tai valinnaisesti omat toteutuksensa menetelmiin, jotka on jo määritelty vanhempien luokassa (tai yhdessä isovanhempien luokista). Joten kun jälkimmäinen tapahtuu, sitä kutsutaan menetelmän ohittamiseksi. Toisin sanoen, jos lapsiluokka tarjoaa toteutuksen menetelmälle, jolla on sama allekirjoitus ja palautustyyppi kuin jo vanhempien luokkiin määritelty menetelmä, sanotaan, että lapsiluokan toteutus ohittaa (korvaa). Joten jos luokassa on ohitettu menetelmä, ajonaikaisen järjestelmän on päätettävä, mitä menetelmän toteutusta käytetään. Tämä ongelma on ratkaistu tarkastelemalla tarkkaa objektityyppiä, jota käytetään sen kutsumiseen. Jos vanhemman luokan objektia käytetään ohitetun menetelmän kutsumiseen, käytetään vanhemman luokan toteutusta. Vastaavasti, jos se on lapsiluokan objekti, jota käytetään, käytetään lapsiluokan toteutusta. Nykyaikaiset ohjelmointikielet, kuten Java, Eifell, C ++ ja Python, sallivat menetelmän ohittamisen.
Mikä on ylikuormitus?
Menetelmän ylikuormitus on ominaisuus, jonka jotkin ohjelmointikielet tarjoavat useamman kuin yhden menetelmän luomiseen samalla nimellä, mutta erilaisilla syöttö- ja tulostustyypeillä. Tämä ominaisuus on käytettävissä nykyaikaisilla ohjelmointikielillä, kuten Java, C #, C ++ ja VB. NET. Voit ylikuormittaa menetelmän luomalla toisen menetelmän, jolla on sama nimi, mutta jolla on erilainen metodin allekirjoitus tai erilainen palautustyyppi (tai molemmat). Esimerkiksi, jos sinulla on method1 (type1 t1) ja method1 (type2 t2) saman luokan sisällä, ne ovat ylikuormitettuja. Sitten järjestelmän on päätettävä, mikä suoritetaan, kun sitä kutsutaan. Tämä erottelu tehdään tarkastelemalla menetelmälle siirrettyjen parametrien tyyppiä. Jos argumentti on tyyppiä 1, kutsutaan ensimmäinen toteutus, kun taas tyypin 2, toinen toteutus kutsutaan.
Mitä eroa on ohituksella ja ylikuormituksella?
Vaikka menetelmän ohittamista ja menetelmän ylikuormitusta käytetään tarjoamaan menetelmä, jolla on erilaisia toteutuksia, näiden kahden käsitteen / tekniikan välillä on keskeisiä eroja. Ensinnäkin menetelmän syrjäyttävät aineet pysyvät aina eri luokissa, kun taas menetelmän ylikuormituskohteet pysyvät samassa luokassa. Tämä tarkoittaa, että ohitus on mahdollista vain olio-ohjelmointikielissä, jotka sallivat perimisen, kun taas ylikuormitus voi olla saatavilla myös muulla kuin olio-kielellä. Toisin sanoen ohitat menetelmän superluokassa, mutta ylikuormitat menetelmän omassa luokassa.
Toinen ero on se, että ohitetuilla menetelmillä on sama metodin nimi, metodin allekirjoitus ja palautustyyppi, mutta ylikuormitettujen menetelmien on oltava erilaisia joko allekirjoituksessa tai palautustyypissä (nimen tulisi olla sama). Kahden ohitetun menetelmän erottamiseksi käytetään tarkkaa objektityyppiä, jota käytetään käytettyjen menetelmien id kutsumiseen, kun taas kahden ylikuormitetun menetelmän erottamiseen käytetään parametrien tyyppejä. Toinen keskeinen ero on, että ylikuormitus ratkaistaan käännösaikana, kun taas ohitus ratkaistaan ajon aikana.
Suositeltava:
Ero Siirtogeenisten Ja Koputtavien Hiirten Välillä
Tärkein ero siirtogeenisten hiirien ja tyrmäyshiirien välillä on, että siirtogeenisten hiirten genomiin on lisätty vieraita geenejä, kun taas knockout-hiirillä on func
Ero Nousevan Ja Laskevan Paperikromatografian Välillä
Keskeinen ero nousevan ja laskevan paperikromatografian välillä on se, että nouseva paperikromatografia käsittää liuottimen liikkeen
Ero Vääristymän Ja Ylikuormituksen Välillä
Tärkein ero - Särö vs. ylikäyttö Vääristymä ja ylikäyttö ovat kaksi teknistä termiä, joita käytetään monilla aloilla, ja keskeinen ero Di: n välillä
Ero Java-ylikuormituksen Ja Ohittamisen Välillä
Tärkein ero - ylikuormitus vs ohitus Java Object-Oriented Programming (OOP) -ohjelmassa on merkittävä paradigma ohjelmistokehityksessä. Se on menetelmä
Ero Ohittamisen Ja Ylikuormituksen Välillä C
Tärkein ero - ohittaminen vs ylikuormitus C #: ssä Tärkein ero ohituksen ja ylikuormituksen välillä C #: ssa on se, että ohitetun menetelmän sitominen cal