Menetelmän ylikuormitus, joka tunnetaan myös nimellä Funktion ylikuormitus tai Compile time polymorphism, on käsite, että kahdella tai useammalla menetelmällä on sama nimi, mutta erilainen allekirjoitus samassa laajuudessa. On monia ohjelmointikieliä, jotka tukevat tätä ominaisuutta: Ada, C ++, C #, D ja Java.
Esimerkki menetelmän ylikuormituksesta C #: ssä
Kuten yllä olevassa esimerkissä esitetään, menetelmä 'monikulmio' ylikuormittuu 3 kertaa erilaisella menetelmän allekirjoituksella, ts. Tyyppi tai parametrien lukumäärä ovat erilaisia.
Menetelmän ohittaminen, joka tunnetaan myös nimellä Function overriring tai Run time polymorphism, on OOP-ominaisuus, jonka avulla lasten luokka voi tarjota oman toteutuksensa vanhemmaluokassa määritellylle menetelmälle. Lasten luokan toteutus ohittaa menetelmän määritelmän perusluokassa edellyttäen, että lasten luokan menetelmällä tulisi olla sama nimi, allekirjoitus ja palautustyyppi.
Esimerkki menetelmän ohittamisesta C #: ssä
Tässä Source2-luokan piirtomenetelmä ohittaa Source1-luokassa määritetyn vetomenetelmän.