Sisällysluettelo:
Määritelmä - mitä ylikuormitus tarkoittaa?
Ylikuormituksella tarkoitetaan kykyä käyttää yhtä tunnistinta luokan useiden menetelmien määrittelemiseen, jotka eroavat toisistaan niiden tulo- ja lähtöparametreissa. Ylikuormitettuja menetelmiä käytetään yleensä silloin, kun ne käsitteellisesti suorittavat saman tehtävän, mutta hieman erilaisilla parametreilla.
Ylikuormitus on käsite, jolla vältetään redundantti koodi, jossa samaa menetelmän nimeä käytetään useita kertoja, mutta erilaisilla parametreilla. Varsinainen menetelmä, joka kutsutaan suorituksen aikana, ratkaistaan käännöshetkellä, jolloin vältetään ajonaikaiset virheet. Ylikuormitus tarjoaa koodin selkeyttä, eliminoi monimutkaisuuden ja parantaa suorituskykyä.
Techopedia selittää ylikuormituksen
Ylikuormitusta käytetään ohjelmointikielissä, jotka pakottavat tyyppitarkistuksen toimintopuheluissa kokoamisen aikana. Kun menetelmä on ylikuormitettu, valittu menetelmä valitaan käännöshetkellä. Tämä ei ole sama kuin virtuaalitoiminnot, joissa menetelmä määritetään suorituksen aikana.
Toisin kuin Java, C # sallii operaattorien ylikuormituksen menetelmien lisäksi määrittelemällä staattiset jäsenet operaattorin avainsanalla. Tämä ominaisuus auttaa laajentamaan ja mukauttamaan käyttäjän määrittelemiin tyyppeihin liittyviä operaattoreiden semantiikkaa, jotta niitä voidaan käyttää objektin ilmentymien käsittelemiseen operaattoreiden kanssa.
C #: n ylikuormitustarkkuus on menetelmä, jolla oikea toiminto valitaan toimitettujen argumenttien ja saman nimisen ehdokasfunktion jäsenten luettelon perusteella. Eri tilanteita, joissa ylikuormitustarkkuutta käytetään, ovat:
- Menetelmän esittäminen lausekkeessa
- Rakentaja objektin luomisen aikana
- Hakemistoindeksioija elementtikäytön ja ennalta määritetyn tai käyttäjän määrittelemän operaattorilausekkeen kautta
On suositeltavaa välttää ylikuormitusta perintörajojen yli, koska se voi aiheuttaa sekaannusta. Ylikuormitus voi olla hankalaa kehittäjille, jos sitä käytetään liikaa ja käyttäjän määrittämien tyyppien kanssa parametreina, koska se voi vähentää koodin luettavuutta ja ylläpidettävyyttä.