Rozdíl mezi přetížením a přepsáním v Javě

Klíčový rozdíl - přetížení vs Převažující v Javě
 

Objektově orientované programování (OOP) je hlavním vzorem ve vývoji softwaru. Je to metodika pro navrhování programu pomocí tříd a objektů. Třída je plán. Popisuje, co by mělo v objektu obsahovat. Definuje vlastnosti nebo atributy a metody, ze kterých by měl objekt sestávat. Objekt je tedy instancí třídy. Tyto objekty komunikují s jinými objekty. Jedním z hlavních konceptů OOP je polymorfismus. Je to schopnost objektu chovat se více způsoby. Polymorfismus je rozdělen do dvou sekcí, které jsou přetížené a převažující. Tento článek popisuje rozdíl mezi těmito dvěma v Javě. klíčový rozdíl mezi přetížením a převažováním v Javě je to Přetížení je schopnost vytvářet více metod stejného jména s různými implementacemi a Přepisování je implementace pro metodu podtřídy, která již existuje v nadřazené třídě..

OBSAH

1. Přehled a klíčový rozdíl
2. Co je přetížení v Javě
3. Co je v Javě převažující
4. Podobnosti mezi přetížením a přepsáním v Javě
5. Porovnání bok po boku - přetížení vs. přetečení v Javě v tabulkové formě
6. Shrnutí

Co je přetížení v Javě?

Přetížení je schopnost vytvářet více metod stejného jména s různými implementacemi. Viz níže uvedený kód Java.

Obrázek 01: Program Java, který vysvětluje přetížení různými argumenty

Podle výše uvedeného programu třída A obsahuje dvě metody se stejným názvem. Metoda prvního součtu má dva parametry. Metoda druhého součtu má tři parametry. Při vytváření objektu typu A a volajícího součtu (2,3) bude volat metodu součtu se dvěma parametry, které jsou součet (int a, int b) a vrací 5. Při vytváření objektu typu A a volajícího součtu (2) , 3,4), zavolá druhou metodu součtu se třemi parametry, kterými je součet (int a, int b, int c) a vrací 9.

Název metody je stejný, ale počet parametrů se liší. Lze pozorovat, že stejný objekt se chová odlišně. Tento koncept je známý jako přetížení. Je také označován jako Statická vazba nebo Zkompiluje polymorfismus času.

Může být také přetíženo různými typy dat. Viz níže uvedený kód Java.

Obrázek 02: Program Java, který vysvětluje přetížení různými argumenty

Podle výše uvedeného programu se třída A skládá ze dvou metod se stejným názvem. Metoda sum (int a, b) přijímá dvě celočíselné hodnoty. Součet (double a double b) přijímá dvě dvojité hodnoty. Při vytváření objektu typu A a volajícího součtu (2,3) bude volat součet (int a, int b) a vrací hodnotu 5. Při volání součtu (3.4, 5.6) bude volat součet (dvojnásobek a dvojnásobek) b) a vrátit hodnotu 9.0. V tomto příkladu mají metody stejný název, ale jiný typ proměnných. To je také přetížení.

Co je v Javě převažující?

V Javě je možné vytvářet podtřídy s již existujícími třídami. Spíše než vytvoření nové třídy od začátku je možné použít vlastnosti a metody již existující třídy. Existující třída je nadtřída a odvozená třída je podtřída. Když podtřída poskytuje implementaci pro metodu, která je již v nadřazené třídě, je známá jako nadřazená. Podívejte se na níže uvedený program Java.

Obrázek 03: Program Java pro potlačení

Podle výše uvedeného programu má třída A zobrazení metody (). Třída B sahá od třídy A, takže vlastnosti a metody třídy A jsou přístupné třídou B. Třída B má zobrazení metody () se specifickou implementací. Při vytváření objektu typu A a volání metody zobrazení dá výstup B. Přestože třída A má způsob zobrazení, je přepsána metoda zobrazení třídy B. Podtřída implementuje metodu, která již existuje v nadtřídě.

Tento koncept je typem polymorfismu a je znám jako převažující. Nazývá se také jako Pozdní vazba, Dynamická vazba, Runtime polymorfismus.

Jaké jsou podobnosti mezi přetížením a přemostěním v Javě?

  • Oba jsou typy polymorfismu.
  • Při přetížení a přepisování mají metody stejný název.

Jaký je rozdíl mezi přetížením a přepsáním v Javě?

Přetížení vs Overriding v Javě

Přetížení v Javě je schopnost vytvářet více metod stejného jména s různými implementacemi. Přepisování v Javě poskytuje konkrétní implementaci v metodě podtřídy pro metodu, která již existuje v nadtřídě.
 Parametry
Při přetížení mají metody stejný název, ale odlišný počet parametrů nebo jiný typ parametrů. Při potlačení mají metody stejný název a parametry musí být stejné.
Témata
Přetížení probíhá v rámci třídy. K převažování dochází v rámci dvou tříd, které mají dědičný vztah.
 Synonyma
Přetížení se nazývá kompilovaný polymorfismus času. Převládající se nazývá běhový polymorfismus.

Shrnutí - přetížení vs Převažující v Javě

Polymorfismus je hlavní koncept v objektově orientovaném programování. Poskytuje objektu schopnost chovat se více způsoby. To může být buď přetížení, nebo převažující. Přetížení je polymorfismus v době kompilace a převažující je polymorfismus za běhu. Jsou užitečné při vývoji softwarových aplikací. Rozdíl mezi overridingem a overloadingem je v tom, že Overloading je schopnost vytvářet více metod stejného jména s různými implementacemi a Overriding poskytuje specifickou implementaci v metodě podtřídy pro metodu, která již existuje v nadtřídě. V Javě je možné implementovat přetížení i přetížení.

Stáhněte si přetěžování PDF vs Přepisování v Javě

Můžete si stáhnout PDF verzi tohoto článku a použít ji pro účely offline podle citace. Stáhněte si prosím verzi PDF zde Rozdíl mezi přetížením a přepsáním v Javě

Odkaz:

1.tutorialspoint.com. "Přepisování Java." Bod. K dispozici zde 
2. „Přetížení metody v Javě - Javatpoint.“ K dispozici zde
3. „Přepsání metody v Javě - javatpoint.“ K dispozici zde