Rozdiel Medzi Preťažením A Prepísaním V Jave

Obsah:

Rozdiel Medzi Preťažením A Prepísaním V Jave
Rozdiel Medzi Preťažením A Prepísaním V Jave

Video: Rozdiel Medzi Preťažením A Prepísaním V Jave

Video: Rozdiel Medzi Preťažením A Prepísaním V Jave
Video: PHPStorm - Rozdiel medzi text editorom a IDE (2/11) 2024, November
Anonim

Kľúčový rozdiel - preťaženie a prepísanie v Jave

Objektovo orientované programovanie (OOP) je hlavnou paradigmou vo vývoji softvéru. Jedná sa o metodiku návrhu programu pomocou tried a objektov. Trieda je modrotlač. Opisuje, čo by malo obsahovať objekt. Definuje vlastnosti alebo atribúty a metódy, z ktorých by sa mal objekt skladať. Preto je objekt inštanciou triedy. Tieto objekty komunikujú s inými objektmi. Jedným z hlavných konceptov OOP je polymorfizmus. Je to schopnosť objektu správať sa viacerými spôsobmi. Polymorfizmus je rozdelený do dvoch častí, ktoré sú preťažené a prevažujúce. Tento článok pojednáva o rozdieloch medzi týmito dvoma jazykmi v prostredí Java. Kľúčovým rozdielom medzi preťažením a prepísaním v Jave je ten, že Overloading je schopnosť vytvárať viac metód rovnakého názvu s rôznymi implementáciami a Overriding je poskytnúť implementáciu pre metódu podtriedy, ktorá už v nadtriede existuje.

OBSAH

1. Prehľad a kľúčový rozdiel

2. Čo je to preťaženie v Jave

3. Čo je to prepísanie v Jave

4. Podobnosti medzi preťažením a prepísaním v Jave

5. Porovnanie vedľa seba - preťaženie vs preplnenie v Jave vo forme tabuľky

6. Zhrnutie

Čo je to preťaženie v Jave?

Preťaženie je schopnosť vytvárať viac metód rovnakého názvu s rôznymi implementáciami. Prečítajte si nižšie uvedený kód Java.

Rozdiel medzi preťažením a prepísaním v Jave
Rozdiel medzi preťažením a prepísaním v Jave

Obrázok 01: Program Java, ktorý vysvetľuje preťaženie s rôznym počtom argumentov

Podľa vyššie uvedeného programu trieda A obsahuje dve metódy s rovnakým názvom. Metóda prvého súčtu má dva parametre. Metóda druhého súčtu má tri parametre. Pri vytváraní objektu typu A a volaní súčtu (2,3) bude volať metódu súčtu s dvoma parametrami, ktoré sú sum (int a, int b) a vráti 5. Pri vytváraní objektu typu A a volaní súčtu (2, 3,4), zavolá druhú metódu súčtu s tromi parametrami, ktorou je súčet (int a, int b, int c) a vráti 9.

Názov metódy je rovnaký, ale počet parametrov je odlišný. Je možné pozorovať, že rovnaký objekt sa správa odlišne. Tento koncept je známy ako preťaženie. Tiež sa označuje ako statická väzba alebo kompilácia časového polymorfizmu.

Môžu byť tiež preťažené rôznymi typmi údajov. Prečítajte si nižšie uvedený kód Java.

Rozdiel medzi preťažením a prepísaním v Java Figure 02
Rozdiel medzi preťažením a prepísaním v Java Figure 02

Obrázok 02: Program Java, ktorý vysvetľuje preťaženie s rôznym počtom argumentov

Podľa vyššie uvedeného programu trieda A pozostáva z dvoch metód s rovnakým názvom. Metóda sum (int a, int b) prijíma dve celočíselné hodnoty. Súčet (dvojnásobok a dvojnásobok b) dostane dve dvojnásobné hodnoty. Pri vytváraní objektu typu A a volaní súčtu (2,3) bude volať súčet (int a, int b) a vráti hodnotu 5. Pri volaní súčtu (3,4, 5,6) bude volať súčet (double a double b) a vráti hodnotu 9.0. V tomto príklade majú metódy rovnaký názov, ale iný typ premenných. To tiež preťažuje.

Čo je prepísanie v Jave?

V Jave je možné vytvárať podtriedy s už existujúcimi triedami. Namiesto vytvárania novej triedy od začiatku je možné použiť vlastnosti a metódy už existujúcej triedy. Existujúca trieda je nadtrieda a odvodená trieda je podtrieda. Keď podtrieda poskytuje implementáciu pre metódu, ktorá je už v nadtriede, je známa ako prepísanie. Prečítajte si nižšie uvedený program Java.

Kľúčový rozdiel medzi preťažením a prepísaním v Jave
Kľúčový rozdiel medzi preťažením a prepísaním v Jave

Obrázok 03: Program Java na prepísanie

Podľa vyššie uvedeného programu má trieda A metódu display (). Trieda B sa rozširuje z triedy A, takže vlastnosti a metódy triedy A sú prístupné pre triedu B. Trieda B má metódu display () so špecifickou implementáciou. Pri vytváraní objektu typu A a volaní metódy zobrazenia poskytne výstup B. Aj keď má trieda A metódu zobrazenia, je prepísaná metódou zobrazenia triedy B. Podtrieda implementuje metódu, ktorá už v nadtriede existuje.

Tento koncept je typom polymorfizmu a je známy ako prevažujúca. Nazýva sa tiež ako neskorá väzba, dynamická väzba, runtime polymorfizmus.

Aké sú podobnosti medzi preťažením a prepísaním v Jave?

  • Obidva typy polymorfizmu.
  • V prípade preťaženia a prepísania majú metódy rovnaký názov.

Aký je rozdiel medzi preťažením a prepísaním v Jave?

Rozdielny článok v strede pred tabuľkou

Preťaženie vs prepísanie v Jave

Preťaženie v Jave je schopnosť vytvárať viac metód rovnakého názvu s rôznymi implementáciami. Prepísanie v jazyku Java poskytuje špecifickú implementáciu v metóde podtriedy pre metódu, ktorá už v nadtriede existuje.
Parametre
Pri preťažení majú metódy rovnaký názov, ale odlišný počet parametrov alebo iný typ parametrov. Pri prepísaní majú metódy rovnaký názov a parametre musia byť rovnaké.
Témy
V triede dochádza k preťaženiu. K prepísaniu dôjde v rámci dvoch tried, ktoré majú dedičský vzťah.
Synonymá
Preťaženie sa nazýva kompilovaný časový polymorfizmus. Prepísanie sa nazýva polymorfizmus doby behu.

Zhrnutie - Preťaženie a prepísanie v Jave

Polymorfizmus je hlavným konceptom v objektovo orientovanom programovaní. Poskytuje objektu schopnosť správať sa viacerými spôsobmi. Môže to byť buď preťaženie alebo prepísanie. Preťaženie je polymorfizmus v čase kompilácie a prvoradý je polymorfizmus za behu. Sú užitočné pri vývoji softvérových aplikácií. Rozdiel medzi prepísaním a preťažením spočíva v tom, že preťaženie predstavuje schopnosť vytvárať viac metód rovnakého názvu s rôznymi implementáciami a prepísanie poskytuje konkrétnu implementáciu v metóde podtriedy pre metódu, ktorá už v nadtriede existuje. V Jave je možné implementovať preťaženie aj prepísanie.

Stiahnite si súbory Java Overloading vs Overriding v Jave

Môžete si stiahnuť verziu tohto článku vo formáte PDF a použiť ho na offline účely podľa citačnej poznámky. Stiahnite si tu PDF verziu. Rozdiel medzi preťažením a preložením v Jave

Odporúčaná: