Kľúčový rozdiel - nadtrieda vs podtrieda
Pri objektovo orientovanom programovaní (OOP) sa systém modeluje pomocou objektov. Tieto objekty sa vytvárajú pomocou triedy. Trieda je plán alebo popis na vytvorenie objektu. Tvorba objektu je tiež známa ako inštancia objektu. Každý objekt komunikuje s ostatnými objektmi. Pomocou Objektovo orientovaného programovania je možné vyvinúť program alebo softvér. Dedenie je hlavným pojmom v OOP. Zlepšuje opätovné použitie kódu. Namiesto implementácie programu od začiatku umožňuje dediť vlastnosti a metódy už existujúcej triedy na novú. Pomáha to urobiť program lepšie zvládnuteľným. Nadtrieda a podtrieda sú dva výrazy, ktoré súvisia s dedičstvom. Tento článok pojednáva o rozdieloch medzi nadtriedou a podtriedou. Kľúčový rozdiel medzi nadtriedou a podtriedou je, že nadtrieda je existujúca trieda, od ktorej sú odvodené nové triedy, zatiaľ čo podtrieda je novou triedou, ktorá dedí vlastnosti a metódy nadtriedy.
OBSAH
1. Prehľad a kľúčový rozdiel
2. Čo je nadtrieda
3. Čo je podtrieda
4. Podobnosti medzi nadtriedou a podtriedou
5. Porovnanie vedľa seba - nadtrieda vs. podtrieda v tabuľkovej forme
6. Zhrnutie
Čo je to Superclass?
V Inheritance je existujúca trieda, od ktorej sú odvodené nové triedy, známa ako nadtrieda. Je tiež známa ako nadradená trieda alebo základná trieda.
Existujú rôzne typy dedičstva. Nasledujúce príklady sú ilustrované. Zvážte AB a C ako triedy.
Obrázok 01: Typy dedičnosti
Obrázok 02: Hybridná dedičnosť
Podľa vyššie uvedených diagramov sa supertriedy líšia od každého typu dedičstva. V dedičstve na jednej úrovni je A nadtriedou. Vo viacúrovňovom dedičstve A je nadtrieda pre B a B je nadtrieda pre C. V hierarchickej dedičnosti A je nadtrieda pre B aj C. Vo viacerých dedičstvách sú A aj B nadtriedami pre C.
Hybridné dedičstvo je kombináciou viacúrovňového a viacnásobného dedičstva. V ľavom diagrame je A nadtrieda pre B, C a B, C sú nadtriedy pre D. V pravom bočnom diagrame je A nadtrieda pre B a B, D sú nadtriedy pre C.
Prečítajte si program uvedený nižšie v jazyku Java.
Obrázok 03: Program dedenia v Jave
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 sú vlastnosti a metódy triedy A prístupné pre triedu B. Preto je trieda A nadtriedou. Na vytvorenie objektu sa použije referenčný typ triedy B. Takže všetky metódy ako súčet (), sub () a násobenie () sú prístupné objektu. Ak sa na vytvorenie objektu používa referenčný typ Superclass, členovia triedy B nemôžu byť prístupní. napr. A obj = new B (); Preto odkaz na nadtriedu nemôže metódu nazývať 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čstva. Pri jednoduchom dedičstve je B podtrieda. Vo viacúrovňovom dedičstve je B podtrieda A a C je podtrieda B. V hierarchickej dedičnosti B a C sú podtriedy A. Vo viacerých dedičstvách je C podtrieda pre A a B.
V hybridnom dedičstve je diagram vľavo, B a C podtrieda A. D je podtrieda B a C. Na diagrame vpravo je B podtrieda pre A. C je podtrieda B a D.
Podľa vyššie uvedeného programu Dedičstvo 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 známa aj ako podradená trieda alebo odvodená trieda. Trieda B má metódu multiplikácia () a tiež môže pristupovať k metódam súčtu () a sub () triedy A pomocou dedenia.
Aká je podobnosť medzi nadtriedou a podtriedou?
Obidve súvisia s dedičstvom
Aký je rozdiel medzi nadtriedou a podtriedou?
Rozdielny článok v strede pred tabuľkou
Supertrieda vs podtrieda |
|
Pri implementácii dedičstva je existujúcou triedou, od ktorej sú odvodené nové triedy, nadtrieda. | Pri implementácii dedičstva je triedou, ktorá dedí vlastnosti a metódy zo supertriedy, podtrieda. |
Synonymá | |
Nadtrieda je známa ako základná trieda, nadradená trieda. | Podtrieda je známa ako odvodená trieda, podradená trieda. |
Funkčnosť | |
Nadtrieda nemôže používať vlastnosti a metódy podtriedy. | Podtrieda môže používať vlastnosti a metódy nadtriedy. |
Dedičstvo na jednej úrovni | |
Existuje jedna nadtrieda. | Existuje jedna podtrieda. |
Hierarchické dedičstvo | |
Existuje jedna nadtrieda | Existuje veľa podtried. |
Viacnásobné dedičstvo | |
Existuje veľa superclassov. | Existuje jedna podtrieda. |
Zhrnutie - Superclass vs Subclass
Dedenie je pojem OOP. Umožňuje prístup k vlastnostiam a metódam existujúcej triedy novou triedou. Zdedenou triedou je nadtrieda a odvodenou triedou je podtrieda. Rozdiel medzi nadtriedou a podtriedou je v tom, že nadtrieda je existujúca trieda, od ktorej sú odvodené nové triedy, zatiaľ čo podtrieda je novou triedou, ktorá dedí vlastnosti a metódy nadtriedy.
Stiahnite si PDF Superclass vs Subclass
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. Tu si stiahnite verziu PDF. Rozdiel medzi nadtriedou a podtriedou