Rozdíl Mezi Přetížením A Přepsáním V Javě

Obsah:

Rozdíl Mezi Přetížením A Přepsáním V Javě
Rozdíl Mezi Přetížením A Přepsáním V Javě

Video: Rozdíl Mezi Přetížením A Přepsáním V Javě

Video: Rozdíl Mezi Přetížením A Přepsáním V Javě
Video: Извещение мореплавателей. Корректура. Краткий видео курс. 2024, Smět
Anonim

Klíčový rozdíl - přetížení vs. přepsání v Javě

Objektově orientované programování (OOP) je hlavním paradigmatem ve vývoji softwaru. Jedná se o metodiku návrhu 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, z nichž by se měl objekt skládat. Proto je objekt instancí třídy. Tyto objekty komunikují s jinými objekty. Jedním z hlavních konceptů OOP je polymorfismus. Jedná se o schopnost objektu chovat se několika způsoby. Polymorfismus je rozdělen do dvou částí, které jsou přetíženy a přepsány. Tento článek pojednává o rozdílu mezi těmito dvěma v Javě. Klíčovým rozdílem mezi přetížením a přepsáním v Javě je to, že Přetížení je schopnost vytvořit více metod stejného jména s různými implementacemi a Přepsání je poskytnout implementaci pro metodu podtřídy, která již v nadtřídě existuje.

OBSAH

1. Přehled a klíčový rozdíl

2. Co je přetížení v Javě

3. Co je přepsání v Javě

4. Podobnosti mezi přetížením a přepsáním v Javě

5. Porovnání vedle sebe - přetížení vs přepsání v Javě ve formě tabulky

6. Shrnutí

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

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

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

Obrázek 01: Program Java, který vysvětluje přetížení s různým počtem argumentů

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

Název metody je stejný, ale počet parametrů se liší. Lze pozorovat, že stejný objekt se chová odlišně. Tento koncept se nazývá přetížení. Také se označuje jako statická vazba nebo kompilace časového polymorfismu.

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

Rozdíl mezi přetížením a přepsáním v Java Figure 02
Rozdíl mezi přetížením a přepsáním v Java Figure 02

Obrázek 02: Program Java, který vysvětluje přetížení různým počtem argumentů

Podle výše uvedeného programu se třída A skládá ze dvou metod se stejným názvem. Metoda sum (int a, int b) přijímá dvě celočíselné hodnoty. Součet (double a double b) přijímá dvě dvojnásobné hodnoty. Při vytváření objektu typu A a volání součtu (2,3) zavolá součet (int a, int b) a vrátí hodnotu 5. Při volání součtu (3,4, 5,6) zavolá součet (dvojitý a dvojitý 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 přepsání v Javě?

V Javě je možné vytvářet podtřídy s již existujícími třídami. Místo vytvář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 nadtřídě, je známá jako přepsání. Viz níže uvedený program Java.

Klíčový rozdíl mezi přetížením a přepsáním v Javě
Klíčový rozdíl mezi přetížením a přepsáním v Javě

Obrázek 03: Program Java pro přepsání

Podle výše uvedeného programu má třída A metodu display (). Třída B vychází z třídy A, takže vlastnosti a metody třídy A jsou přístupné třídě B. Třída B má metodu display () 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á metodu zobrazení, je přepsána metodou zobrazení třídy B. Podtřída implementuje metodu, která již v nadtřídě existuje.

Tento koncept je typem polymorfismu a je znám jako přepsání. Také se nazývá Late Binding, Dynamic Binding, Runtime Polymorphism.

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

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

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

Rozdílný článek uprostřed před tabulkou

Přetížení vs přepsání v Javě

Přetížení v Javě je schopnost vytvářet více metod se stejným názvem s různými implementacemi. Přepsání v Javě poskytuje specifickou implementaci v metodě podtřídy pro metodu, která již v nadtřídě existuje.
Parametry
V přetížení mají metody stejný název, ale odlišný počet parametrů nebo jiný typ parametrů. Při přepsání mají metody stejný název a parametry musí být stejné.
Motivy
Ve třídě dochází k přetížení. K přepsání dochází v rámci dvou tříd, které mají vztah dědičnosti.
Synonyma
Přetížení se nazývá kompilovaný časový polymorfismus. Přepsání se nazývá polymorfismus doby běhu.

Shrnutí - Přetížení vs Přepsání v Javě

Polymorfismus je hlavním konceptem v objektově orientovaném programování. Poskytuje schopnost objektu chovat se několika způsoby. Může to být buď přetížení nebo přepsání. Přetížení je polymorfismus v době kompilace a přepsání je polymorfismus za běhu. Jsou užitečné při vývoji softwarových aplikací. Rozdíl mezi přepsáním a přetížením spočívá v tom, že Přetížení je schopnost vytvářet více metod se stejným názvem s různými implementacemi a Přepsání poskytuje konkrétní implementaci v podtřídě pro metodu, která již v nadtřídě existuje. V Javě je možné implementovat přetížení i přepsání.

Stáhněte si přetížení PDF vs. přepsání v Javě

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

Doporučená: