Rozdiel medzi nástrojmi a rozšíreniami

Rozdiel medzi nástrojmi a rozšíreniami
Rozdiel medzi nástrojmi a rozšíreniami

Video: Rozdiel medzi nástrojmi a rozšíreniami

Video: Rozdiel medzi nástrojmi a rozšíreniami
Video: Rozdiel medzi školou v zahraničí a na Slovensku 2024, November
Anonim

Implements vs Extends

Implements a Extends sú dve kľúčové slová nachádzajúce sa v programovacom jazyku Java, ktoré poskytujú prostriedky na prenos dodatočných funkcií do novej triedy. Kľúčové slovo Implements sa používa výslovne na implementáciu rozhrania, zatiaľ čo kľúčové slovo Extends sa používa na dedenie z (super) triedy. Upozorňujeme, že koncepty dedičnosti a rozhrania sú prítomné vo väčšine ostatných objektovo orientovaných programovacích jazykov, ako sú C a VB. NET, ale ponúkajú odlišnú syntax alebo kľúčové slová na použitie týchto konceptov. Tento článok sa zameriava iba na kľúčové slová implementuje a rozširuje definované v jazyku Java.

Predlžuje

Kľúčové slovo Extends sa používa na implementáciu konceptu dedičnosti v programovacom jazyku Java. Dedičnosť v podstate poskytuje opätovné použitie kódu tým, že umožňuje rozšírenie vlastností a správania existujúcej triedy o novo definovanú triedu. Keď nová podtrieda (alebo odvodená trieda) rozširuje nadtriedu (alebo rodičovskú triedu), táto podtrieda zdedí všetky atribúty a metódy nadtriedy. Podtrieda môže voliteľne prepísať správanie (poskytovať novú alebo rozšírenú funkčnosť metód) zdedené z nadradenej triedy. Podtrieda nemôže rozšíriť viacero super tried v jazyku Java. Preto 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 vysvetlené nižšie.

Implements

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 špecifikáciu zmluvy, ktorá by mala byť implementovaná triedami, ktoré implementujú toto rozhranie. Rozhranie zvyčajne obsahuje iba podpisy metód a deklarácie konštanty. Akékoľvek 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 jazyku Java môže byť typ odkazu na objekt definovaný ako typ rozhrania. Ale tento objekt musí byť buď null, alebo by mal obsahovať objekt triedy, ktorá implementuje toto konkrétne 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 triedu rozšíriť.

Rozdiel medzi Implements a Extends

Hoci, Implements a Extends sú dve kľúčové slová, ktoré poskytujú mechanizmus na dedenie atribútov a správania triede v programovacom jazyku Java, používajú sa na dva rôzne účely. Kľúčové slovo Implements sa používa pre triedu na implementáciu určitého rozhrania, zatiaľ čo kľúčové slovo Extends sa používa pre podtriedu na rozšírenie z nadtriedy. 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 rodičovskej triede. Nakoniec, ďalší kľúčový rozdiel medzi Implements a Extends je v tom, že trieda môže implementovať viacero rozhraní, ale môže sa rozšíriť iba z jednej super triedy v jazyku Java. Vo všeobecnosti sa používanie Implementov (rozhraní) považuje za priaznivejšie v porovnaní s používaním Extends (dedičnosť), a to z niekoľkých dôvodov, ako je vyššia flexibilita a schopnosť minimalizovať spojenie. Preto sa v praxi uprednostňuje programovanie na rozhranie pred rozšírením zo základných tried.

Odporúča: