Rozdíl mezi přetížením a překračováním v jazyce Java

Klíčový rozdíl : Přetížení znamená, že má dvě metody stejné třídy se stejným názvem as různými typy parametrů, zatímco přepisovací prostředky mají dvě různé metody ve stejné třídě se stejnými typy parametrů, avšak s různými implementacemi.

Nadřazené metody a přetížení jsou dvě koncepty nebo techniky používané v java programovacích jazycích. Obě koncepty umožňují programátorovi poskytovat různé implementace pro metody pod stejným názvem. Tento článek rozlišuje mezi dvěma pojmy programování.

Funkce přetížení nebo přetížení metody umožňuje vytvořit několik metod pod stejným jménem, ​​ve stejné třídě, ale navzájem se liší ve vstupu a výstupním typem funkce. Jedná se jednoduše definována jako schopnost jedné funkce plnit různé úkoly.

Při přetížení mají implementace metod stejný název, protože provádějí podobné úlohy. Také přetížení je považováno za polymorfní povahu. Funkce s různými implementacemi závisí na jejich specifikovaných typech argumentů. To je obvykle spojeno se statickými programovacími jazyky, které vyžadují kontrolu typu při volání funkce. To je také považováno za praktické, protože umožňuje programátorovi psát řadu různých metod ve stejné třídě. Při přetížení runtime procesor však změní název všech přetížených metod, což může být problém.

Přepínání metody v objektově orientovaném programování je vlastnost, která umožňuje třídě podtřídy nebo podřízené třídy poskytnout konkrétní implementaci metody, která je již poskytována jednou z jejích tříd nadřazené třídy nebo nadřazené třídy. Implementace v podtřídě přepíše nebo nahrazuje implementaci v nadřazené třídě tím, že poskytuje metodu pod stejným názvem, stejnými parametry nebo podpisem a stejným návratovým typem jako metoda v nadřazené třídě.

Při přepínání metod jsou funkce kódovány pro provádění specifických úloh v programu. Přepsání závisí na přítomnosti funkce základní třídy pro její vzhled. Zde je spuštěná funkce určena objektem, který se používá k jejímu vyvolání, tj. Pokud se použije objekt nadřazené třídy pro vyvolání metody, provede se funkce v nadřazené třídě. Převažující je polymorfní povaha; pomáhá navrhovat programy založené na prvním implicitním parametru, který lze vyřešit za běhu. Některé jazyky v jazyce Java umožňují programátorovi zabránit tomu, aby byla metoda přepsána.

Srovnání mezi přetížením a překračováním:

Přetížení

Přepínání

Definice

Znamená to mít metody stejné třídy pod stejným názvem, ale každá metoda má různé parametry nebo má stejné parametry s různými typy a pořadí.

To znamená mít podtřídu se stejnými metodami pod stejným jménem a přesně stejným typem parametrů a stejným návratovým typem jako super třídy.

Význam

To znamená, že více než jedna metoda sdílí stejný název ve stejné třídě, ale má jiný podpis.

To znamená, že metoda základní třídy je znovu definována v odvozené třídě se stejným podpisem.

Chování

Přidává nebo rozšiřuje chování metod.

Změní stávající chování metody.

Polymorfismus

Je to kompilační časový polymorfismus.

Je to polymorfismus běhu času.

Statická metoda

Statická metoda může být přetížena.

Statickou metodu nelze přepsat.

Pouto

Statická vazba.

Dynamická vazba.

Dědictví

Může nebo nemusí vyžadovat dědictví.

Vždy vyžaduje dědictví.

Sdružení

To je obvykle spojeno se statickými jazyky programu.

Obvykle se sdružuje s programy orientovanými na objekt.

Podpis

Metody mají odlišný podpis.

Metody musí mít stejný podpis.

Rychlost

Je to rychlejší než převrat.

Je pomalé ve srovnání s přetížením.

Třídy

Pro přetížení nevyžaduje více než jednu třídu.

Vyžaduje přinejmenším dvě třídy pro přetížení.

Úroveň

Metody mohou mít libovolnou úroveň přístupu.

Metody mají stejnou nebo širokou úroveň přístupu.

Příklad

Přidat třídu

{{

int součet (int a, int b)

{{

vrátí a + b;

}}

int součet (int a)

{{

vrátit a + 10;

}}

}}

Třída A // Super třídy

{{

prázdné zobrazení (int num)

{{

tisk num;

}}

}}

Třída B dědí třídu A

Třída B // Subkategorie

{{

prázdné zobrazení (int num)

{{

tisk num;

}}

}}

Doporučená

Související Články

  • rozdíl mezi: Rozdíl mezi MOV a AVI

    Rozdíl mezi MOV a AVI

    Hlavní rozdíl: MOV a AVI jsou dva různé typy souborů kontejnerů. Jak naznačuje název, soubory kontejnerů jsou soubory, které obsahují něco, co je obvykle video a / nebo zvuk. Většina lidí si neuvědomuje, že AVI a MOV nejsou kódovací formáty, ale jsou obaly pro formátované video soubory. V podstatě je hlavní
  • rozdíl mezi: Rozdíl mezi pevným a kapalným

    Rozdíl mezi pevným a kapalným

    Hlavní rozdíl: Tuhá látka, kapalina, plyn a plazma jsou čtyři primární stavy hmoty, ve kterých objekty mohou být nalezeny na Zemi. Pevná látka je stav hmoty, který má pevný tvar a pevný objem. Tekutina je stav hmoty, který nemá pevný tvar, ale má určitý objem. Pevná látka, tekutina, plyn a plazma jsou čtyři primární stavy hmoty, ve kterých objekty lze nalézt na Zemi. Téměř všechny látky lze nalé
  • rozdíl mezi: Rozdíl mezi láskou a záležitostí

    Rozdíl mezi láskou a záležitostí

    Klíčový rozdíl: Záležitost je sexuální vztah nebo romantické přátelství nebo vášnivá vazba mezi dvěma lidmi. Láska je hlubší a smysluplnější spojení mezi dvěma lidmi. Vztahy jsou komplikované bez ohledu na to, jsou ještě komplikovanější, když se je lidé pokoušejí označit. To vede k komplikacím mezi jmény,
  • rozdíl mezi: Rozdíl mezi uvolněním a ukončením

    Rozdíl mezi uvolněním a ukončením

    Klíčový rozdíl: Uvolnění je v podstatě tehdy, když člověk musí být propuštěn z práce nebo pozice, a to hlavně proto, že si je nemůže dovolit udržet je. To je způsobeno žádnou chybou zaměstnance a je často způsobeno ekonomickými situacemi. Na druhou stranu končí, když je zaměstnanec propuštěn. Mohlo by to být z různých důvod
  • rozdíl mezi: Rozdíl mezi hypnózou a hypnoterapií

    Rozdíl mezi hypnózou a hypnoterapií

    Klíčový rozdíl: Hypnóza je proces, zatímco hypnoterapie je ve skutečnosti formou psychoterapie, která využívá hypnózu. Na kouzelné show je vidět, že člověk tančí nebo se chová jako opice pod vnímanou hypnózou, je zábavný a zábavný. Ale přemýšlíte, je skutečná hypnóza? Mohou lidé skutečně být chováni
  • rozdíl mezi: Rozdíl mezi kartami Sony Xperia Z a Google Nexus 10

    Rozdíl mezi kartami Sony Xperia Z a Google Nexus 10

    Klíčový rozdíl: Společnost Sony nedávno oznámila svou aktualizovanou řadu smartphonů a tablet. Spolu s novým vlajkovým telefonem Sony Xperia Z společnost také přidala novou tabletovou kartu Sony Xperia Z. Tablet podporuje 10, 1 palcový TFT kapacitní dotykový displej a je vytvořen pomocí technologie Sony Mobile BRAVIA Engine 2. Nexus 10 je table
  • rozdíl mezi: Rozdíl mezi whisky a whisky

    Rozdíl mezi whisky a whisky

    Klíčový rozdíl: Whisky a Whisky jsou dvě různá hláskování pro stejný typ nápoje. Nicméně, mnoho fanoušků švýcarské a jiné "whisky" tvrdí, že rozdíly mezi "whisky" a "whisky" jsou mnohem hlubší než jen pravopis. Oni tvrdí, že nápoje se liší chutí, vůní a dalšími faktory. Pro mnoho lidí je "whisky&quo
  • rozdíl mezi: Rozdíl mezi fiskálním rokem a finančním rokem

    Rozdíl mezi fiskálním rokem a finančním rokem

    Hlavní rozdíl: Pojmy Fiskální rok a finanční rok jsou synonymní, tj. Totéž. Jedná se o období, které vlády používají pro účetní a rozpočtové účely. Jedná se však také o dobu, po kterou musí být daň zaplacena, což je obvykle doba trvání 1 roku. Fiskální rok a finanční rok jsou dva termíny, které mohou dospělí dospěli někdy v životě. Termíny se zabývají především daňovými pop
  • rozdíl mezi: Rozdíl mezi Santa Claus a Sinterklaas

    Rozdíl mezi Santa Claus a Sinterklaas

    Klíčový rozdíl: Obě Sinterklaas a Santa Claus jsou varianty, které jsou odvozeny od sv. Nikolas. Sinterklaas je populární v Evropě, většinou v Nizozemsku a Santa Claus je populární po celém světě. Ačkoli je Santa Claus slavný po celém světě jako veselý muž s velkým břichem, který přijde 25. prosince, aby dali dětem

Redakce Choice

Rozdíl mezi loutkami a loutkou

Klíčový rozdíl: Loutka je pohyblivá postava, která představuje osobu nebo zvíře. Je ovládán nebo manipulován loutkářem. Loutka je loutka, která je animována pomocí drátů nebo strun. Loutky jsou často považovány za komplikované než jiné druhy loutek. Loutka je prostě model, který představuje člověka nebo zvíře. Tato definice musí obsahovat b