Jednotná dědičnost vs. vícenásobná dědičnost

Autor: Laura McKinney
Datum Vytvoření: 4 Duben 2021
Datum Aktualizace: 14 Smět 2024
Anonim
Jednotná dědičnost vs. vícenásobná dědičnost - Jiný
Jednotná dědičnost vs. vícenásobná dědičnost - Jiný

Obsah

Klíčový rozdíl mezi jednoduchou dědičností a vícenásobným dědictvím je ten, že v jediné dědičnosti odvozená třída zdědí pouze jednu základní třídu, zatímco u více dědičnosti odvozená třída zdědí více než jednu základní třídu.


Dědičnost je jedním z nejdůležitějších konceptů v OOP, které je objektově orientované programování. Koncept opakovaného použití je podporován v dědictví. Opakovaná použitelnost znamená, že nová třída znovu použije vlastnosti již existující třídy. Ve třídě odvozené z dědičnosti zdědí základní třída a přístup specifikátor rozhodne, který člen základní třídy bude zděděn. Existují typy dědičnosti, které jsou jediná dědičnost, hierarchická dědičnost, víceúrovňová dědičnost a hybridní dědičnost. V jediné dědičnosti odvozená třída zdědí pouze jednu základní třídu, zatímco ve více dědičnosti odvozená třída zdědí více než jednu základní třídu.


Existuje pouze jediná odvozená třída, která je zděděna od základní třídy. Existují tři způsoby, jak zdědit základní třídu, která je veřejná, chráněná a soukromá. Specifikátor přístupu se používá k zdědění základní třídy. Důvodem jediné dědičnosti je zdědění vlastností a chování z jediné nadřazené třídy. Hlavní účel objektově orientovaného programování, kterým je opakovaná použitelnost kódu, je splněn použitím jediné dědičnosti. Pokud mluvíme o jedné dědičnosti ve srovnání s vícenásobnou dědičností než, musí být jednoduchá dědičnost snadnější ve srovnání s vícenásobnou dědičností. Funkce overriding se používá v jedné dědičnosti. Polymorfismus za běhu je znám jako převažující. Přepsání je dosaženo pomocí funkčního klíčového slova, které je virtuální. Toto klíčové slovo se používá v základní třídě. Když odvozená třída znovu definuje funkci, nelze přepsanou funkci změnit. Přepsání v C ++ určuje, která verze funkce se nazývá. Single dědičnost se používá v C ++, Java, PHP, C # a vizuální bázi.


Vícenásobná dědičnost umožňuje odvodit více než jednu základní třídu, což znamená, že můžete získat vlastnosti více než jedné základní třídy. Můžeme mít jednu odvozenou třídu a více základních tříd. Základní třída je zděděna uvedením samostatného specifikátoru přístupu. Vícenásobná dědičnost má symetrické sloučení a asymetrické rozšíření. Pokud existuje vzor adaptéru, používá se více dědičností. Vícenásobná dědičnost se používá v C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Implementace kódu pro více dědictví je ve srovnání s jedním dědictvím složitá.

Obsah: Rozdíl mezi jednotlivým dědictvím a vícenásobným dědictvím

  • Srovnávací tabulka
  • Jednotné dědictví
  • Vícenásobné dědictví
  • Klíčové rozdíly
  • Závěr
  • Vysvětlující video

Srovnávací tabulka

ZákladJednotné dědictvíVícenásobné dědictví
Význam V jediné dědičnosti odvozená třída zdědí pouze jednu základní třídu

Odvozená třída ve více dědičnosti zdědí více než jednu základní třídu.

 

BezpečnýJediné dědictví je bezpečnější než vícenásobné dědictvíImplementace více dědictví není bezpečná
PřístupV jediné dědičnosti se dědí vlastnosti jedné třídyVe více dědičnosti mohou být zděděny funkce více tříd
Runtime Jediná dědičnost vyžaduje delší dobu běhuVíce dědictví vyžaduje kratší dobu běhu

Jednotné dědictví

Existuje pouze jediná odvozená třída, která je zděděna od základní třídy. Existují tři způsoby, jak zdědit základní třídu, která je veřejná, chráněná a soukromá. Specifikátor přístupu se používá k zdědění základní třídy. Důvodem jediné dědičnosti je zdědění vlastností a chování z jediné nadřazené třídy. Hlavní účel objektově orientovaného programování, kterým je opakovaná použitelnost kódu, je splněn použitím jediné dědičnosti. Pokud mluvíme o jedné dědičnosti ve srovnání s vícenásobnou dědičností než, musí být jednoduchá dědičnost snadnější ve srovnání s vícenásobnou dědičností. Funkce overriding se používá v jedné dědičnosti. Polymorfismus za běhu je znám jako převažující. Přepsání je dosaženo pomocí funkčního klíčového slova, které je virtuální. Toto klíčové slovo se používá v základní třídě. Když odvozená třída předefinuje funkci, nelze přepsanou funkci změnit. Přepsání v C ++ určuje, která verze funkce se nazývá. Single dědičnost se používá v C ++, Java, PHP, C # a vizuální bázi.

Vícenásobné dědictví

Více dědičností umožňuje odvodit více než jednu základní třídu, což znamená, že můžete získat vlastnosti více než jedné základní třídy. Můžeme mít jednu odvozenou třídu a více základních tříd. Základní třída je zděděna uvedením samostatného specifikátoru přístupu. Více dědičností má symetrické sloučení a asymetrické rozšíření. Pokud existuje vzor adaptéru, použije se několik dědičností. V C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl se používá více dědictví. Implementace kódu pro více dědictví je ve srovnání s jedním dědictvím složitá.

Klíčové rozdíly

  1. V jediné dědičnosti odvozená třída zdědí pouze jednu základní třídu, zatímco ve více dědičnosti odvozená třída zdědí více než jednu základní třídu.
  2. Jediné dědictví je bezpečnější než vícenásobné dědictví, zatímco vícenásobné dědictví není bezpečné implementovat.
  3. V jedné dědičnosti jsou zděděny vlastnosti jedné třídy, zatímco u více dědičnosti mohou být zděděny vlastnosti více tříd.
  4. Jediná dědičnost vyžaduje delší dobu běhu, zatímco více dědic vyžaduje kratší dobu běhu

Závěr

V tomto článku výše vidíme jasný rozdíl mezi jedním dědictvím a vícenásobným dědictvím s implementací

Vysvětlující video