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

Obsah:

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

Video: Rozdiel medzi preťažením a prepísaním v jazyku Java

Video: Rozdiel medzi preťažením a prepísaním v jazyku Java
Video: CS50 2014 — неделя 0, продолжение 2024, December
Anonim

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

Object-Oriented Programming (OOP) je hlavnou paradigmou vo vývoji softvéru. Je to metodológia na navrhovanie programu pomocou tried a objektov. Trieda je plán. Popisuje, čo by mal objekt obsahovať. Definuje vlastnosti alebo atribúty a metódy, z ktorých má objekt pozostávať. 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 kategorizovaný do dvoch sekcií, ktoré sú preťažené a nadradené. Tento článok pojednáva o rozdieloch medzi týmito dvoma v jazyku Java. Kľúčový rozdiel medzi preťažením a prepisovaním v jazyku Java je v tom, že preťaženie je schopnosť vytvoriť viacero metód rovnakého mena s rôznymi implementáciami a prepisovanie je poskytnúť implementáciu pre metódu podtriedy, ktorá už existuje v nadtriede.

Čo je preťaženie v jazyku Java?

Preťaženie je schopnosť vytvárať viaceré metódy s rovnakým názvom s rôznymi implementáciami. Pozrite si kód Java nižšie.

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

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

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

Názov metódy je rovnaký, ale počet parametrov sa líši. Dá sa pozorovať, že ten istý objekt sa správa inak. Tento koncept je známy ako preťaženie. Označuje sa tiež ako statická väzba alebo polymorfizmus času kompilácie.

Môžu byť tiež preťažené rôznymi typmi údajov. Pozrite si kód Java nižšie.

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
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: Java program, ktorý vysvetľuje preťaženie s rôznym počtom argumentov

Podľa vyššie uvedeného programu pozostáva trieda A z dvoch metód s rovnakým názvom. Metóda sum(int a, int b) dostáva dve celočíselné hodnoty. Súčet (double a double b) dostane dve dvojité hodnoty. Pri vytváraní objektu typu A a volaní sum(2, 3) zavolá sum(int a, int b) a vráti hodnotu 5. Pri volaní sum(3.4, 5.6) zavolá sum(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. Toto je tiež preťaženie.

Čo má prednosť v jazyku Java?

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 nadtriedou a odvodená trieda je podtriedou. Keď podtrieda poskytuje implementáciu pre metódu, ktorá je už v nadtriede, je známa ako prepisovanie. Pozrite si nižšie uvedený program Java.

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

Obrázok 03: Java program 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é triede 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ď trieda A má 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 nadradený. Nazýva sa aj ako Late Binding, Dynamic Binding, Runtime Polymorphism.

Aké sú podobnosti medzi preťažením a prepisovaním v jazyku Java?

  • Obaja sú typy polymorfizmu.
  • Pri preťažovaní a prepisovaní majú metódy rovnaký názov.

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

Preťaženie vs prepisovanie v jazyku Java

Preťaženie v jazyku Java znamená možnosť vytvárať viaceré metódy rovnakého mena s rôznymi implementáciami. Nahradenie 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 rámci triedy dochádza k preťaženiu. Prepísanie sa vyskytuje v rámci dvoch tried, ktoré majú vzťah dedičnosti.
Synonymá
Preťaženie sa nazýva kompilovaný časový polymorfizmus. Prepisovanie sa nazýva polymorfizmus doby spustenia.

Zhrnutie – Preťaženie vs prepisovanie v jazyku Java

Polymorfizmus je hlavným konceptom objektovo orientovaného programovania. Poskytuje schopnosť objektu 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 prepísanie je polymorfizmus v čase behu. Sú užitočné pri vývoji softvérových aplikácií. Rozdiel medzi prepisovaním a preťažením je v tom, že preťaženie je schopnosť vytvárať viaceré metódy rovnakého mena s rôznymi implementáciami a prepisovanie poskytuje špecifickú implementáciu v metóde podtriedy pre metódu, ktorá už existuje v nadtriede. V jazyku Java je možné implementovať preťaženie aj prepísanie.

Stiahnuť súbor PDF Preťaženie vs prepísanie v jazyku Java

Verziu tohto článku si môžete stiahnuť vo formáte PDF a použiť ju na offline účely podľa citácie. Stiahnite si verziu PDF tu Rozdiel medzi preťažením a prepísaním v jazyku Java

Odporúča: