Rozdiel medzi nástrojmi a rozsahmi

Implementácia vs rozširuje

Implementácia a rozšírenie sú dve kľúčové slová, ktoré sa nachádzajú v programovacom jazyku Java a ktoré poskytujú prostriedok na prenos pridanej funkčnosti do novej triedy. Kľúčové slovo implementuje sa výslovne používa na implementáciu rozhrania, zatiaľ čo kľúčové slovo Rozšírenie sa používa na dedenie od (super) triedy. Upozorňujeme, že koncepcie dedičnosti a rozhraní sú prítomné vo väčšine ostatných objektovo orientovaných programovacích jazykov, ako sú C # a VB.NET, ale na aplikáciu týchto konceptov ponúkajú odlišnú syntax alebo kľúčové slová. Tento článok sa zameriava iba na implementáciu a rozšírenie kľúčových slov definovaných v jazyku Java.

rozširuje

Kľúčové slovo rozširuje sa používa na implementáciu koncepcie dedičnosti v programovacom jazyku Java. Dedičnosť v zásade poskytuje opakované použitie kódu tým, že umožňuje rozširovať vlastnosti a správanie existujúcej triedy o novo definovanú triedu. Keď nová podtrieda (alebo odvodená trieda) rozširuje nadtriedu (alebo nadradenú triedu), táto podtrieda zdedí všetky atribúty a metódy nadtriedy. Podtrieda môže voliteľne potlačiť správanie (poskytnúť nové alebo rozšírené funkcie metódam) zdedené z nadradenej triedy. Podtrieda nemôže v jazyku Java rozširovať viacero super tried. Z tohto dôvodu nemôžete použiť rozšírenia pre viacnásobné dedičstvo. Ak chcete získať viacnásobné dedičstvo, musíte použiť rozhrania, ako je uvedené nižšie.

náradie

Kľúčové slovo implementuje v programovacom jazyku Java sa používa na implementáciu rozhrania triedou. Rozhranie v jazyku Java je abstraktný typ, ktorý sa používa na určenie zmluvy, ktorá by sa mala implementovať triedami, ktoré toto rozhranie implementujú. Rozhranie zvyčajne obsahuje iba podpisy metód a stále vyhlásenia. Každé rozhranie, ktoré implementuje konkrétne rozhranie, by malo implementovať všetky metódy definované v rozhraní alebo by malo byť deklarované ako abstraktná trieda. V Java môže byť typ odkazu na objekt definovaný ako typ rozhrania. Tento objekt však musí byť nulový alebo mal by obsahovať objekt triedy, ktorý implementuje dané rozhranie. Pomocou kľúčového slova Implements v jazyku Java môžete implementovať viacero rozhraní do jednej triedy. Rozhranie nemôže implementovať iné rozhranie. Rozhranie však môže rozšíriť triedu.

Rozdiel medzi nástrojmi a rozsahom

Implements and Extends sú dve kľúčové slová, ktoré poskytujú mechanizmus zdedenia atribútov a správania triede v programovacom jazyku Java, používajú sa na dva rôzne účely. Kľúčové slovo implementuje sa používa pre triedu na implementáciu určitého rozhrania, zatiaľ čo kľúčové slovo rozširuje sa používa pre podtriedu na rozšírenie zo super triedy. Keď trieda implementuje rozhranie, táto trieda musí implementovať všetky metódy definované v rozhraní, ale keď podtrieda rozširuje nadtriedu, môže alebo nemusí prepísať metódy zahrnuté v nadradenej triede. Nakoniec, ďalší kľúčový rozdiel medzi nástrojmi Implements a Extends je, že trieda môže implementovať viac rozhraní, ale môže sa rozšíriť iba z jednej super triedy v jazyku Java. Vo všeobecnosti sa použitie nástrojov (rozhraní) považuje za výhodnejšie v porovnaní s používaním rozšírení (dedičnosť), z niekoľkých dôvodov, ako je vyššia flexibilita a schopnosť minimalizovať spojenie. V praxi je preto programovanie na rozhranie preferované pred rozšírením zo základných tried.