Rozdiel medzi nadtriedou a podtriedou

Obsah:

Rozdiel medzi nadtriedou a podtriedou
Rozdiel medzi nadtriedou a podtriedou

Video: Rozdiel medzi nadtriedou a podtriedou

Video: Rozdiel medzi nadtriedou a podtriedou
Video: Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов. 2024, November
Anonim

Kľúčový rozdiel – supertrieda verzus podtrieda

V objektovo orientovanom programovaní (OOP) je systém modelovaný pomocou objektov. Tieto objekty sú vytvorené pomocou triedy. Trieda je plán alebo popis na vytvorenie objektu. Vytváranie objektov je tiež známe ako inštancia objektov. Každý objekt komunikuje s inými objektmi. Program alebo softvér možno vyvinúť pomocou objektovo orientovaného programovania. Dedičnosť je hlavným pojmom v OOP. Zlepšuje znovupoužiteľnosť kódu. Namiesto implementácie programu od začiatku umožňuje zdedenie vlastností a metód už existujúcej triedy na novú triedu. Pomáha to urobiť program lepšie spravovateľným. Nadtrieda a podtrieda sú dva pojmy, ktoré súvisia s dedičnosťou. Tento článok pojednáva o rozdieloch medzi nadtriedou a podtriedou. Kľúčový rozdiel medzi nadtriedou a podtriedou je v tom, že nadtrieda je existujúca trieda, z ktorej sú odvodené nové triedy, zatiaľ čo podtrieda je nová trieda, ktorá zdedí vlastnosti a metódy nadtriedy.

Čo je supertrieda?

V dedičnosti je existujúca trieda, z ktorej sú odvodené nové triedy, známa ako supertrieda. Je tiež známa ako nadradená trieda alebo základná trieda.

Existujú rôzne typy dedenia. Sú ilustrované pomocou nasledujúcich príkladov. A B a C považujte za triedy.

Rozdiel medzi nadtriedou a podtriedou
Rozdiel medzi nadtriedou a podtriedou

Obrázok 01: Typy dedenia

Rozdiel medzi nadtriedou a podtriedou_obrázok 02
Rozdiel medzi nadtriedou a podtriedou_obrázok 02

Obrázok 02: Hybridné dedičstvo

Podľa vyššie uvedených diagramov sa supertriedy líšia v závislosti od typu dedičnosti. V jednoúrovňovej dedičnosti je A nadtrieda. Vo viacúrovňovej dedičnosti je A nadtriedou pre B a B je nadtriedou pre C. V hierarchickej dedičnosti je A nadtriedou pre B aj C. Vo viacnásobnej dedičnosti sú A aj B nadtriedou pre C.

Hybridné dedičstvo je kombináciou viacúrovňového a viacnásobného dedičstva. V diagrame na ľavej strane je A nadtrieda pre B, C a B, C sú nadtriedy pre D. V diagrame na pravej strane je A nadtrieda pre B a B, D sú nadtriedy pre C.

Pozri nižšie uvedený program napísaný v jazyku Java.

Kľúčový rozdiel medzi nadtriedou a podtriedou
Kľúčový rozdiel medzi nadtriedou a podtriedou

Obrázok 03: Program dedenia v jazyku Java

Podľa vyššie uvedeného programu má trieda A metódy sum() a sub(). Trieda B má metódu multiply(). Trieda B rozširuje triedu A. Preto vlastnosti a metódy triedy A sú prístupné triede B. Preto je trieda A nadtriedou. Na vytvorenie objektu sa použije referenčný typ triedy B. Takže všetky metódy ako sum(), sub() a multiply() sú prístupné objektu. Ak sa na vytvorenie objektu použije referenčný typ Superclass, členovia triedy B nebudú prístupní. napr. A obj=new B(); Preto odkaz na nadtriedu nemôže volať metódu multiply(), pretože táto metóda patrí do triedy B.

Čo je podtrieda?

Podľa vyššie uvedených diagramov sa podtriedy líšia od každého typu dedičnosti. V jednoduchej dedičnosti je B podtrieda. Pri viacúrovňovej dedičnosti je B podtriedou triedy A a C je podtriedou triedy B. V hierarchickej dedičnosti sú B a C podtriedy triedy A. Vo viacnásobnej dedičnosti je C podtriedou pre A a B.

V hybridnej dedičnosti je diagram vľavo, B a C sú podtriedy A. D je podtrieda B a C. V diagrame vpravo je B podtrieda pre A. C je podtrieda z B a D.

Podľa vyššie uvedeného programu Dedičnosť trieda B rozširuje triedu A. Preto sú všetky vlastnosti a metódy triedy A prístupné triede B. Trieda B je nová trieda, ktorá dedí z triedy A. Je známa ako podtrieda. Je tiež známa ako detská trieda alebo odvodená trieda. Trieda B má metódu multiply () a môže tiež pristupovať k metódam sum() a sub() triedy A pomocou dedičnosti.

Aká je podobnosť medzi nadtriedou a podtriedou?

Obaja súvisia s dedičstvom

Aký je rozdiel medzi nadtriedou a podtriedou?

Supertrieda verzus podtrieda

Pri implementácii dedičnosti je existujúca trieda, z ktorej sú odvodené nové triedy, Superclass. Pri implementácii dedičnosti je triedou, ktorá zdedí vlastnosti a metódy z nadtriedy, podtrieda.
Synonymá
Supertrieda je známa ako základná trieda, rodičovská trieda. Podtrieda je známa ako odvodená trieda, detská trieda.
Funkčnosť
Nadtrieda nemôže používať vlastnosti a metódy podtriedy. Podtrieda môže používať vlastnosti a metódy nadtriedy.
Jednoúrovňové dedičstvo
Je tu jedna supertrieda. Existuje jedna podtrieda.
Hierarchické dedičstvo
Je tu jedna supertrieda Existuje veľa podtried.
Viacnásobné dedičstvo
Existuje veľa supertried. Existuje jedna podtrieda.

Zhrnutie – Supertrieda verzus podtrieda

Dedičnosť je koncept OOP. Umožňuje používať vlastnosti a metódy existujúcej triedy, aby k nim mala prístup nová trieda. Zdedená trieda je nadtrieda a odvodená trieda je podtrieda. Rozdiel medzi nadtriedou a podtriedou je v tom, že nadtrieda je existujúca trieda, z ktorej sú odvodené nové triedy, zatiaľ čo podtrieda je nová trieda, ktorá zdedí vlastnosti a metódy nadtriedy.

Stiahnuť PDF Superclass vs Subclass

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 PDF verziu tu Rozdiel medzi supertriedou a podtriedou

Odporúča: