Rozdiel medzi preťažením a prvoradosťou

Preťaženie verzus overriding

Preťaženie a prekonanie sú vlastnosťami väčšiny programovacích jazykov. Preťaženie je vlastnosť, ktorá umožňuje vytvorenie niekoľkých metód s rovnakým názvom v rovnakej triede, ale líšia sa jeden od druhého z hľadiska typu vstupu a typu výstupu funkcie. Preťaženie metód je zvyčajne spojené so statickými programovacími jazykmi, ktoré vynucujú kontrolu typu vo volaní funkcií. S najväčšou pravdepodobnosťou súvisia s VB, .Net, C ++, D, Java, atď. Prepísanie je primárna zručnosť používaná na objektovo orientované programovanie a vykonáva sa, keď užívateľ predefinuje metódu, ktorá už bola definovaná v existujúcej alebo rodičovskej triede. V tejto programovacej technike sú skripty kódované na vykonávanie konkrétnych úloh tým, že umožňujú skriptu napísanému v nižšej alebo podtriede implementovať metódu alebo množinu pokynov, ktoré už boli stanovené v ktorejkoľvek z nadradených alebo vyšších tried..

V počítačovom programovaní má preťaženie pôvod v metóde, ktorá má viac ako jednu definíciu v rovnakom rozsahu a zdieľa rovnaké meno, ale s odlišným podpisom. Implementácie metód zdieľajú rovnaké meno, pretože budú vykonávať podobné úlohy. Preťaženie je tiež identifikované kvôli jeho rozpoznaniu ako prípad polymorfizmu, v ktorom niektorí alebo všetci operátori môžu mať rôzne implementácie, ktoré závisia od ich špecifikovaných typov argumentov. Prvoradý význam závisí od prítomnosti funkcie základnej triedy. Jazyková funkcia Prepísanie, ktorá umožňuje podriadenej triede implementovať metódu, ktorá sa už používa v jednej z jej nadtried alebo nadradených tried, umožňuje metóde podtriedy priradiť rovnaký názov, zoznam parametrov a návratový typ alebo podpis, aký má prepísaná metóda použitá v nadtriede má.

Preťaženie sa považuje za praktické, pretože programátorom umožňuje napísať množstvo rôznych metód, ktoré majú rovnaké meno. Preťaženie môže mať pre jazyk určité následky, pretože v čase behu procesor zmení názov všetkých preťažených metód. Je vyriešený v čase kompilácie. Zatiaľ čo prvoradý je polymorfizmus, ktorý je navrhnutý na základe implicitného prvého parametra, ktorý je vyriešený za behu.

Zhrnutie:
Termín preťaženie sa zvyčajne spája so staticky naprogramovanými jazykmi a prekonanie získalo popularitu v objektovo orientovanom programovaní.
Metóda v triede, ktorá má rovnaký názov metódy s rôznym podpisom, sa označuje ako metóda preťaženia. Prepísanie známe ako metóda v triede, ktorá má rovnaký názov metódy a rovnaké argumenty / podpis.
Preťaženie zdieľa jednotný vzťah medzi metódami dostupnými v tej istej triede, zatiaľ čo v prvoradom vzťahu sa vytvára vzťah medzi metódou nadtriedy a metódou podtriedy..
Preťaženie umožňuje dedenie z nadtriedy.
V prevažujúcej miere nahradí nadtriedu metóda podtriedy.
Preťaženie musí mať rozdielny podpis metódy, zatiaľ čo prekrývanie musí mať rovnaký podpis.