Jednorazové dedičstvo verzus viacnásobné dedičstvo
Obsah
- Obsah: Rozdiel medzi jedným dedičstvom a viacnásobným dedičstvom
- Porovnávacia tabuľka
- Jednotné dedičstvo
- Viacnásobné dedičstvo
- Kľúčové rozdiely
- záver
- Vysvetľujúce video
Kľúčový rozdiel medzi jednoduchým dedičstvom a viacnásobným dedičstvom je, že odvodená trieda zdedí iba jednu základnú triedu, zatiaľ čo odvodená trieda zdedí viac než jednu základnú triedu.
Dedičnosť je jedným z najdôležitejších konceptov OOP, ktorým je objektovo orientované programovanie. Koncepcia opakovaného použitia je podporovaná v dedičstve. Opätovné použitie znamená, že nová trieda opätovne použije vlastnosti už existujúcej triedy. V triede odvodenej od dedenia zdedí základnú triedu a prístup, špecifikátor rozhodne, ktorý člen základnej triedy sa zdedí. Existujú typy dedičstva, ktoré sú jediným dedičstvom, hierarchickým dedičstvom, viacúrovňovým dedičstvom a hybridným dedičstvom. V prípade jediného dedičstva odvodená trieda zdedí iba jednu základnú triedu, zatiaľ čo v prípade viacerých dedičstiev odvodená trieda zdedí viac ako jednu základnú triedu.
Existuje len jedna odvodená trieda, ktorá sa zdedila zo základnej triedy. Existujú tri spôsoby, ako zdediť základnú triedu, ktorá je verejná, chránená a súkromná. Špecifikátor prístupu sa používa na zdedenie základnej triedy. Dôvodom jediného dedičstva je zdedenie vlastností a správania z jednej nadradenej triedy. Hlavný účel objektovo orientovaného programovania, ktorým je opätovné použitie kódu, je splnený použitím jedinej dedičnosti. Ak hovoríme o jedinom dedičstve v porovnaní s viacnásobným dedičstvom, potom musí byť jedno dedičstvo ľahšie v porovnaní s viacnásobným dedičstvom. Prekrývanie funkcií sa používa v jedinom dedičstve. Polymorfizmus za behu je známy ako prvoradý. Prepísanie sa dosiahne pomocou kľúčového slova funkcie, ktoré je virtuálne. Toto kľúčové slovo sa používa v základnej triede. Keď odvodená trieda nanovo definuje funkciu, nemožno prepísať funkciu. Prepísanie v C ++ určuje, ktorá verzia funkcie sa volá. Single dedičnosť sa používa v C ++, Java, PHP, C # a vizuálnej báze.
Viaceré dedičstvo umožňuje odvodiť viac ako jednu základnú triedu, čo znamená, že môžete získať vlastnosti viac ako jednej základnej triedy. Môžeme mať jednu odvodenú triedu a viac základných tried. Základná trieda sa zdedí uvedením samostatného špecifikátora prístupu. Viaceré dedičstvo má symetrické zlúčenie a asymetrické rozšírenie. Ak existuje vzor adaptéra, používa sa viacnásobná dedičnosť. Viacnásobná dedičnosť sa používa v jazykoch C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Implementácia kódu pre viacnásobné dedičstvo je v porovnaní s jedným dedičstvom zložitá.
Obsah: Rozdiel medzi jedným dedičstvom a viacnásobným dedičstvom
- Porovnávacia tabuľka
- Jednotné dedičstvo
- Viacnásobné dedičstvo
- Kľúčové rozdiely
- záver
- Vysvetľujúce video
Porovnávacia tabuľka
základ | Jednotné dedičstvo | Viacnásobné dedičstvo |
zmysel | V jednom dedičstve odvodená trieda zdedí iba jednu základnú triedu | V prípade viacerých dedičstiev odvodená trieda zdedí viac ako jednu základnú triedu.
|
trezor | Jediné dedičstvo je bezpečnejšie ako viacnásobné dedičstvo | Implementácia viacerých dedičstiev nie je bezpečná |
prístup | V prípade jediného dedičstva sa zdedí jedna trieda | Vo viacnásobnom dedičstve môžu byť zdedené viaceré triedy |
Runtime | Jedno dedičstvo vyžaduje viac času na spustenie | Viacnásobné dedičstvo vyžaduje kratší čas spracovania |
Jednotné dedičstvo
Existuje len jedna odvodená trieda, ktorá sa zdedila zo základnej triedy. Existujú tri spôsoby, ako zdediť základnú triedu, ktorá je verejná, chránená a súkromná. Špecifikátor prístupu sa používa na zdedenie základnej triedy. Dôvodom jediného dedičstva je zdedenie vlastností a správania z jednej nadradenej triedy. Hlavný účel objektovo orientovaného programovania, ktorým je opätovné použitie kódu, je splnený použitím jedinej dedičnosti. Ak hovoríme o jednom dedičstve v porovnaní s viacnásobným dedičstvom ako, musí byť jednoduchšie dedičstvo v porovnaní s viacnásobným dedičstvom. Prekrývanie funkcií sa používa v jedinom dedičstve. Polymorfizmus za behu je známy ako prvoradý. Prepísanie sa dosiahne pomocou kľúčového slova funkcie, ktoré je virtuálne. Toto kľúčové slovo sa používa v základnej triede. Keď odvodená trieda nanovo definuje funkciu, nemožno prepísať funkciu. Prepísanie v C ++ určuje, ktorá verzia funkcie sa volá. Single dedičnosť sa používa v C ++, Java, PHP, C # a vizuálnej báze.
Viacnásobné dedičstvo
Viaceré dedičstvá umožňujú odvodiť viac ako jednu základnú triedu, čo znamená, že môžete získať vlastnosti viac ako jednej základnej triedy. Môžeme mať jednu odvodenú triedu a viac základných tried. Základná trieda sa zdedí uvedením samostatného špecifikátora prístupu. Viaceré dedičstvá majú symetrické zlúčenie a asymetrické rozšírenie. Ak existuje vzor adaptéra, používa sa niekoľko dedičstiev. Viaceré dedičstvá sa používajú v C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Implementácia kódu pre viacnásobné dedičstvo je v porovnaní s jedným dedičstvom zložitá.
Kľúčové rozdiely
- V prípade jediného dedičstva odvodená trieda zdedí iba jednu základnú triedu, zatiaľ čo v prípade viacerých dedičstiev odvodená trieda zdedí viac ako jednu základnú triedu.
- Jediné dedičstvo je bezpečnejšie ako viacnásobné dedičstvo, zatiaľ čo viacnásobné dedičstvo nie je bezpečné implementovať.
- V prípade jednej dedičnosti sa zdedí jedna trieda, zatiaľ čo v prípade viacerých dedičstiev sa môžu zdediť viaceré vlastnosti.
- Jediné dedičstvo vyžaduje viac času na spustenie, zatiaľ čo viac dedení vyžaduje kratšie obdobie
záver
V tomto článku vyššie vidíme jasný rozdiel medzi jedným dedičstvom a viacnásobným dedičstvom s implementáciou