Rozdiel medzi preťažením a prepustením v jazyku Java

Kľúčový rozdiel : Preťaženie znamená, že má dve metódy tej istej triedy s rovnakým názvom a rôznymi typmi parametrov, zatiaľ čo preradené prostriedky majú dve rôzne metódy v rovnakej triede s rovnakými typmi parametrov, ale s rôznymi implementáciami.

Prvotné metódy a preťaženie sú dva pojmy alebo techniky používané v javových programovacích jazykoch. Obidva koncepty umožňujú programátorovi poskytovať rôzne implementácie pre metódy pod rovnakým názvom. Tento článok rozlišuje medzi dvoma konceptmi programovania.

Funkčné preťaženie alebo preťaženie metódy umožňuje vytvárať niekoľko metód pod rovnakým názvom, v rovnakej triede, ale navzájom odlišných vo vstupnom a výstupnom type funkcie. Je to jednoducho definované ako schopnosť jednej funkcie vykonávať rôzne úlohy.

Pri preťažení majú implementácie metód rovnaký názov, pretože vykonávajú podobné úlohy. Preťaženie je tiež považované za polymorfné. Funkcie s rôznymi implementáciami závisia od ich špecifikovaných typov argumentov. Zvyčajne sa spája so statickými programovacími jazykmi, ktoré presadzujú typovú kontrolu funkčných volaní. To je tiež považované za praktické, pretože umožňuje programátorovi napísať niekoľko rôznych metód v tej istej triede. Avšak pri preťažení runtime procesor zmení názov všetkých preťažených metód, čo môže byť problém.

Prepísanie metódy v objektovo orientovanom programovaní je funkcia, ktorá umožňuje triede podtriedy alebo podriadenej triedy poskytnúť špecifickú implementáciu metódy, ktorá je už poskytnutá jednou z jej super-tried alebo nadradených tried. Implementácia v podtriede nahrádza alebo nahradí implementáciu v materskej triede tým, že poskytuje metódu pod rovnakým názvom, rovnakými parametrami alebo podpisom a rovnakým typom návratu ako metóda v materskej triede.

Pri overovaní metód sú funkcie kódované na vykonávanie špecifických úloh v programe. Prepísanie závisí od prítomnosti funkcie základnej triedy pre jej vzhľad. Tu vykonanú funkciu určuje objekt, ktorý sa používa na jej vyvolanie, tj ak sa na vyvolanie metódy použije objekt nadradenej triedy, vykoná sa funkcia v nadradenej triede. Nadradený je polymorfný charakter; pomáha navrhovať programy založené na prvom implicitnom parametri, ktorý je možné vyriešiť za behu. Niektoré jazyky v jazyku Java umožňujú programátorovi zabrániť tomu, aby bola metóda prepísaná.

Porovnanie medzi preťažením a preradením:

preťaženie

prvoradý

definícia

Znamená to mať metódy tej istej triedy pod rovnakým názvom, ale každá metóda má rôzne parametre alebo má rovnaké parametre s rôznymi typmi a poradím.

To znamená mať podradnú triedu s rovnakými metódami pod rovnakým názvom a presne rovnaký typ parametrov a rovnaký typ návratu ako super trieda.

zmysel

Znamená to, že viac ako jedna metóda zdieľa rovnaký názov v rovnakej triede, ale má iný podpis.

Znamená to, že metóda základnej triedy je v odvodenej triede s rovnakým podpisom predefinovaná.

správanie

Pridáva alebo rozširuje správanie metód.

Zmení existujúce správanie metódy.

polymorfizmus

Je to kompilovaný časový polymorfizmus.

Je to polymorfizmus behu času.

Statická metóda

Statická metóda môže byť preťažená.

Statickú metódu nemožno prepísať.

dlhopis

Statická väzba.

Dynamická väzba.

dedičstvo

Môže alebo nemusí vyžadovať dedičstvo.

Vždy vyžaduje dedičnosť.

združenie

Zvyčajne sa spája so statickými programovými jazykmi.

Obvykle sa spája s programami orientovanými na objekt.

podpis

Metódy majú iný podpis.

Metódy musia mať rovnaký podpis.

rýchlosť

Je to rýchlejšie ako prevratné.

Je pomalá v porovnaní s preťažením.

vyučovanie

Pre preťaženie nevyžaduje viac ako jednu triedu.

Vyžaduje minimálne dve triedy na preťaženie.

hladina

Metódy môžu mať akúkoľvek úroveň prístupu.

Metódy majú rovnakú alebo širokú úroveň prístupu.

príklad

Pridať triedu

{

int suma (int a, int b)

{

vrátiť a + b;

}

int suma (int a)

{

vrátiť a + 10;

}

}

Trieda A // Super trieda

{

neplatné zobrazenie (int num)

{

print num;

}

}

Trieda B zdedí triedu A

Trieda B // Subkategória

{

neplatné zobrazenie (int num)

{

print num;

}

}

Odporúčaná

Súvisiace Články

  • rozdiel medzi: Rozdiel medzi sepsou a infekciou

    Rozdiel medzi sepsou a infekciou

    Kľúčový rozdiel: Infekcia je fenomén alebo stav, ktorý je spôsobený inváziou mikroorganizmov alebo zárodkov do tela. Môže byť obmedzená na oblasť tela alebo môže byť rozšírená. Sepsa je reakcia organizmu na infekciu. Všeobecne sa spája so zápalovou odpoveďou a prípadne s dysfunkciou orgánov a / alebo zlyhaním. Ak je infekcia ponechaná b
  • rozdiel medzi: Rozdiel medzi mediánom a priemerom

    Rozdiel medzi mediánom a priemerom

    Kľúčový rozdiel: Medián sa vypočíta určením stredného alebo priemeru stredných hodnôt v zozname triedených čísel. Priemer sa vypočítava pridaním všetkých čísel v zozname a rozdelení tohto čísla na počet členov v zozname. Priemerné a priemerné sú tieto pojmy široko používané v mnohých oblastiach. Sú však základnými nástrojmi použ
  • rozdiel medzi: Rozdiel medzi Stickball a Austrálska Stickball

    Rozdiel medzi Stickball a Austrálska Stickball

    Kľúčový rozdiel: Stickball je vlastne pouličná hra, ktorá je veľmi podobná bejzbalu a obsahuje aj základy. Ide o neformálnu hru, ktorá nebola kodifikovaná štátom alebo medzinárodným riadiacim orgánom. Stickball sa hrá za použitia rúčky a každej gule relatívne veľkosti tenisovej loptičky. Austrálska stickballová
  • rozdiel medzi: Rozdiel medzi daňovým úverom a odpočtom dane

    Rozdiel medzi daňovým úverom a odpočtom dane

    Kľúčový rozdiel: daňový úver je suma, ktorá sa odpočíta od sumy dane, ktorú má zaplatiť osoba, zatiaľ čo daňový odpočet je suma odpočítaná z celkových príjmov tejto osoby; ako sa celkové príjmy znižujú, tak sa daň odpočíta. Dane sú dôležitou a mätúcou súčasťou života dospelých. Nielenže musíte dať časť vašich ťažko
  • rozdiel medzi: Rozdiel medzi zliatinou a oceľou

    Rozdiel medzi zliatinou a oceľou

    Kľúčový rozdiel: Zliatina je zmes pozostávajúca z kovu a iných prvkov. Zliatiny sa zvyčajne vyrábajú na dosiahnutie vlastností, ako je väčšia pevnosť alebo odolnosť voči korózii. Oceľ je zliatina železa. Skladá sa hlavne zo železa s malým množstvom uhlíka. Zliatiny sa vyrábajú kombináciou dvoch alebo viacerých kovov. Avšak v niektorých zliatin
  • rozdiel medzi: Rozdiel medzi XOLO Q800 a Intex Aqua Wonder 2

    Rozdiel medzi XOLO Q800 a Intex Aqua Wonder 2

    Hlavný rozdiel: Xolo Q800 je štvorjadrový smartphone s výkonom 1, 2 GHz, ktorý je poháňaný MTK MT6589 a 1 GB RAM. Telefón beží v systéme Android 4.1 (Jelly Bean). Má obrazovku s rozmermi 4, 5 palca s rozlíšením 540 x 960 pixelov. Intex Aqua Wonder 2 je nástupcom jedného z predchádzajúcich telefónov spoločnosti Intex Aqua Wonder. Aqua Wonder 2 je vyb
  • rozdiel medzi: Rozdiel medzi hnojivom a kompostom

    Rozdiel medzi hnojivom a kompostom

    Kľúčový rozdiel: Hnojivo poskytuje rastlinám živiny, aby mohli rásť. Kompost je zmes organického odpadu, ktorý poskytuje živiny pôde. Pokúšať sa pestovať záhradu nie je ľahký výkon. Vyžaduje veľa tvrdej práce a vedomostí, aby sa začala záhrada alebo rastlinná náplasť na záhrade. Existujú dve veci, ktoré čas
  • rozdiel medzi: Rozdiel medzi HTC One X + a Nokia Lumia 920

    Rozdiel medzi HTC One X + a Nokia Lumia 920

    Kľúčový rozdiel: HTC One X + má 4, 7-palcový dotykový dotykový displej s vysokým rozlíšením s rozlíšením približne 312 pixelov, čo znamená, že obrazovka je celkom úžasná a nezobrazuje žiadne pixely. Prístroj je napájaný procesom Quad-core NVIDIA Tegra 3 s výkonom 1, 7 GHz, ktorý je rýchlejší ako pôvodný HTC One X. Jedným z prvých smartfónov pod
  • rozdiel medzi: Rozdiel medzi horčičným olejom a olejom z kanola

    Rozdiel medzi horčičným olejom a olejom z kanola

    Hlavný rozdiel: Horčica a rastlina rakytníka je známa zelenina, ktorej horčica a repkové semená sa používajú na extrakciu príslušných olejov. Z botanického hľadiska oba tieto rastliny patria do čeľade brassica , tj. horčičné semená pochádzajú z druhu brassica juncea , zatiaľ čo repka olejná (canola) pochádza z brassica rapus . Oleje sa považujú za najd

Redakcia Choice

Rozdiel medzi webovými službami REST a SOAP

Rozdiel kľúčov: SOAP znamená jednoduchý protokol prístupu k objektom. Webové služby SOAP sú založené na špecifikáciách SOAP a ws- *. Termín Representational State Transfer (REST) ​​bol vytvorený Royom Fieldingom. Ide o rozhranie webovej aplikácie, ktoré sa implementuje pomocou koncepcií a zásad HTTP a REST. Webová služba môže byť