V objektovo orientovanom programovaní (OOP) je systém modelovaný pomocou objektov. Tieto objekty sa vytvárajú pomocou triedy. Trieda je plán alebo popis na vytvorenie objektu. Vytváranie objektov sa tiež nazýva 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 v OOP hlavným pojmom. Zlepšuje opakované použitie kódu. Skôr než implementovať program od začiatku, umožňuje zdediť vlastnosti a metódy už existujúcej triedy na novú triedu. Pomáha to spravovať program lepšie. Superclass a Subclass sú dva pojmy, ktoré súvisia s dedičstvom. Tento článok pojednáva o rozdieloch medzi triedou Superclass a Subclass. kľúčový rozdiel medzi Superclass a Subclass je to Superclass je existujúca trieda, z ktorej sú odvodené nové triedy, zatiaľ čo Subclass je nová trieda, ktorá zdedí vlastnosti a metódy triedy Superclass..
1. Prehľad a kľúčový rozdiel
2. Čo je Superclass
3. Čo je podtrieda
4. Podobnosti medzi nadtriedami a podtriedami
5. Porovnanie bok po boku - Superclass verzus podtrieda v tabuľkovej forme
6. Zhrnutie
V dedičstve je existujúca trieda, z ktorej sú odvodené nové triedy, známa ako Superclass. Je tiež známa ako rodičovská trieda alebo základná trieda.
Existujú rôzne typy dedičstva. Sú ilustrované pomocou nasledujúcich príkladov. Zvážte A B a C ako triedy.
Obrázok 01: Druhy dedičstva
Obrázok 02: Hybridné dedičstvo
Podľa vyššie uvedených diagramov sa Superclasses líšia od každého typu dedičstva. V jednoúrovňovom dedičstve je A Superclass. Vo viacúrovňovom dedičstve je A nadtrieda pre B a B je nadtrieda pre C. V hierarchickom dedičstve A je nadtrieda pre B aj C. V prípade viacerých dedičstiev sú A a B nadtriedami pre C.
Hybridné dedičstvo je kombináciou viacúrovňového a viacnásobného dedičstva. V ľavostrannom diagrame A predstavuje nadtriedu pre B, C a B, C sú nadtriedy pre D. V pravostrannom diagrame A predstavuje nadtriedu pre B a B, D predstavuje nadtriedy pre C.
Pozrite si nasledujúci program napísaný v jazyku Java.
Obrázok 03: Program dedičstva v Jave
Podľa vyššie uvedeného programu majú triedy A metódy sum () a sub (). Trieda B má metódu násobenia (). Trieda B rozširuje triedu A. Vlastnosti a metódy triedy A sú preto prístupné pre triedu B. Preto je trieda A nadtriedou. Referenčný typ triedy B sa použije na vytvorenie objektu. Takže všetky metódy, ako sú súčet (), sub () a násobenie (), sú prístupné objektu. Ak sa na vytvorenie objektu použije referenčný typ Superclass, členovia triedy B nemôžu byť prístupní. napr. A obj = nový B (); Referencia Superclass preto nemôže metódu násobiť (), pretože táto metóda patrí do triedy B.
Podľa vyššie uvedených schém sa podtriedy líšia od každého typu dedičstva. V prípade Single Inheritance je B podtrieda. Vo viacúrovňovom dedičstve je B podtrieda A a C je podtrieda B. V hierarchickom dedičstve B a C sú podtriedy A. V prípade viacerých dedičstiev je C podtrieda A a B.
V hybridnom dedičstve je diagram vľavo, B a C podtriedy A. D je podtrieda B a C. Na obrázku vpravo je B podtrieda pre A. C je podtrieda B a D.
Podľa vyššie uvedeného dedičského programu 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í od triedy A. Je známa ako podtrieda. Je známa aj ako podradená trieda alebo odvodená trieda. Trieda B má metódu násobenia () a môže tiež pristupovať k metódam sum () a sub () triedy A pomocou dedičnosti.
Superclass vs Subclass | |
Pri implementácii dedičstva je existujúcou triedou, z ktorej sú odvodené nové triedy, Superclass. | Pri implementácii dedičstva je triedou, ktorá zdedí vlastnosti a metódy z nadtriedy, podtrieda. |
synonymá | |
Superclass je známa ako základná trieda, rodičovská 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 triedy Superclass. |
Single-Level-Inheritance | |
Existuje jedna trieda Superclass. | Existuje jedna podtrieda. |
Hierarchické dedičstvo | |
Existuje jedna trieda Superclass | Existuje veľa podtried. |
Multiple Inheritance | |
Existuje veľa Superclasses. | Existuje jedna podtrieda. |
Dedičnosť je koncept OOP. Umožňuje prístup k vlastnostiam a metódam existujúcej triedy pomocou novej triedy. Zdedená trieda je Superclass a odvodená trieda je Subclass. Rozdiel medzi Superclass a Subclass je v tom, že Superclass je existujúca trieda, z ktorej sú odvodené nové triedy, zatiaľ čo Subclass je nová trieda, ktorá zdedí vlastnosti a metódy triedy Superclass..
Môžete si stiahnuť verziu tohto článku vo formáte PDF a použiť ju na účely offline podľa citácie. Stiahnite si PDF verziu tu Rozdiel medzi Superclass a Subclass
1. „Dedičstvo v jazyku Java - Javatpoint.“ The Point, k dispozícii tu
2.tutorialspoint.com. „Dedičnosť Java.“ The Point, k dispozícii tu