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 plodom, embryom a zygote

    Rozdiel medzi plodom, embryom a zygote

    Kľúčový rozdiel: Plod, embryo a plod, tieto termíny sa používajú hlavne v kontexte gestačnej periódy živých cicavcov. Zygote je oplodnené vajíčko, ktoré sa vytvára, keď sú spermie a vajce tavené dohromady. Embryo je stredný stupeň medzi zygote a plodom. Zygóty prechádzajú niekoľkými cyklickými rozdeleniami, aby vytvorili embryo, ktoré sa ďalej rozvíja do plodu. Plod je štádium embrya, v kto
  • rozdiel medzi: Rozdiel medzi kartami HP Slate 7 a Karbonn Cosmic Smart 10

    Rozdiel medzi kartami HP Slate 7 a Karbonn Cosmic Smart 10

    Rozdiel kľúčov: Bridlica podporuje displej s rozmermi 1024 x 600 a je napájaný dvojjadrovým procesorom A9. Obsahuje tiež 16 GB interného ukladacieho priestoru a 1 GB RAM. Tablet ponúka primárnu kameru 3 MPa a sekundárnu kameru VGA (basic). Ponúka živé farby a tiež vybavenie vylepšenia Beats Audio. Karbonn je ind
  • rozdiel medzi: Rozdiel medzi Microsoft Surface RT a Lenovo IdeaPad Yoga 13

    Rozdiel medzi Microsoft Surface RT a Lenovo IdeaPad Yoga 13

    Kľúčový rozdiel: Microsoft Surface RT je tablet, ktorý má 10, 6-palcovú TFT HD kapacitnú dotykovú obrazovku s hustotou približne 148 ppi. Obrazovka poskytuje skutočný pomer strán 16: 9. Operačný systém však nie je kompatibilný so starými počítačovými programami Windows. Zariadenie Lenovo IdeaPad Yoga 13 je vybavené 13, 3-palcovým HD + IPS kapacitným multitouch displejom a váži 1, 54 kg (3, 4 lbs). Je k dispozícii v rôznych
  • rozdiel medzi: Rozdiel medzi zmrzlinou, želatinou a sorbetom

    Rozdiel medzi zmrzlinou, želatinou a sorbetom

    Kľúčový rozdiel: Zmrzlina, Gelato a Sorbet sú zmrazené dezerty. Zmrzlina a gélato obsahuje rovnaký typ základne vrátane prísad ako mlieko, smotana, cukor a žĺtok. Gelato je hustejšia ako zmrzlina, pretože sa mieša pomalšie a zmrazuje pri trochu teplejšej teplote. Sorbet je vyrobený zmesou ovocných štiav / sirupu a ochutenej vody. Na rozdiel od Gelat
  • rozdiel medzi: Rozdiel medzi reláciou ASP a reláciou ASP.NET

    Rozdiel medzi reláciou ASP a reláciou ASP.NET

    Hlavný rozdiel: ASP znamená Active Server Pages. Je všeobecne známy ako Classic ASP alebo ASP Classic. Je to skriptovacie prostredie na strane servera vyvinuté a vydané spoločnosťou Microsoft. ASP.NET je webová aplikačná štruktúra na strane servera. ASPX znamená Active Server Pages Extended. Bol vytvoren
  • rozdiel medzi: Rozdiel medzi pokynmi a vysvetleniami

    Rozdiel medzi pokynmi a vysvetleniami

    Hlavný rozdiel: Pokyny sú spojené hlavne s vyučovaním alebo vyučovaním. Preto sa dáva inštrukcia učiť niečomu niečo. Vysvetlenia sú na druhej strane aktom vysvetľovania niečoho. Vysvetlenie je súbor vyhlásení, ktoré opisujú súbor skutočností, ktorých cieľom je objasniť príčiny, kontext a následky týchto skutočností. Pokyny a vysvetlenia sú dve roz
  • rozdiel medzi: Rozdiel medzi mikrovlnnou rúrou a rúrou

    Rozdiel medzi mikrovlnnou rúrou a rúrou

    Rozdiel v kľúčoch: rúra je tepelne izolovaná komora, ktorá sa používa na vykurovanie, pečenie alebo sušenie látky. Najčastejšie sa používa na varenie. Mikrovlnná rúra je typ rúry, ktorý používa mikrovlny na zohrievanie jedla. Mikrovlnná rúra je typ rúry, ktorý používa mikrovlny na zohrievanie jedla. Mikrovlny sú typom elektr
  • rozdiel medzi: Rozdiel medzi Windows Phone 7.8 a Windows Phone 8

    Rozdiel medzi Windows Phone 7.8 a Windows Phone 8

    Kľúčový rozdiel: Windows Phone 7.8 je upgrade na sériu OS Windows Phone 7 a je k dispozícii v systéme Windows Phone 7.5. Aktualizácia systému Windows Phone 7.8 bola uvoľnená, pretože Windows Phone 7 a 7.5 sa nedokážu inovovať na systém Windows 8. Windows Phone 8 je operačný systém druhej generácie pre Windows Phone série Microsoft. Systém 8 používa ro
  • rozdiel medzi: Rozdiel medzi súkromným právom a verejným právom

    Rozdiel medzi súkromným právom a verejným právom

    Kľúčový rozdiel: Súkromné ​​právo je časť zákona, ktorá upravuje vzťahy a spory medzi súkromnými občanmi krajiny. Táto pobočka je zodpovedná za reguláciu mieru medzi občanmi štátu vrátane súkromných spoločností. Verejné právo je časť zákona, ktorá upravuje vzťah medzi jednotlivcami a štátom. Táto oblasť je zodpovedná za reguláciu

Redakcia Choice

Rozdiel medzi právomocou a zodpovednosťou

Hlavný rozdiel: V obchodných funkciách sú "autorita" a "zodpovednosť" role, ktoré fungujú ruka v ruke. Autorita je právo alebo právomoc pridelená jednotlivcovi, zatiaľ čo zodpovednosť je schopnosť zvládnuť autoritu zo všetkých aspektov. Autorita je súbor práv vydaných jednotlivcovi. Tieto práva sú spra