Jednorazové dedičstvo verzus viacnásobné dedičstvo

Autor: Laura McKinney
Dátum Stvorenia: 4 Apríl 2021
Dátum Aktualizácie: 5 Smieť 2024
Anonim
Jednorazové dedičstvo verzus viacnásobné dedičstvo - Ostatné
Jednorazové dedičstvo verzus viacnásobné dedičstvo - Ostatné

Obsah

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ákladJednotné dedičstvoViacná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.


 

trezorJediné dedičstvo je bezpečnejšie ako viacnásobné dedičstvoImplementácia viacerých dedičstiev nie je bezpečná
prístupV prípade jediného dedičstva sa zdedí jedna triedaVo viacnásobnom dedičstve môžu byť zdedené viaceré triedy
Runtime Jedno dedičstvo vyžaduje viac času na spustenieViacná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

  1. 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.
  2. Jediné dedičstvo je bezpečnejšie ako viacnásobné dedičstvo, zatiaľ čo viacnásobné dedičstvo nie je bezpečné implementovať.
  3. 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.
  4. 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

Vysvetľujúce video