Rozdíl mezi vícenásobným a víceúrovňovým dědictvím

Klíčový rozdíl - vícenásobné vs víceúrovňové dědictví
 

Objektově orientované programování (OOP) je paradigma pro návrh programu pomocí tříd a metod. Skutečné scénáře světa lze mapovat na objekty. Proto je snadné vytvářet softwarová řešení. Třída je plán pro sestavení objektu. Obsahuje vlastnosti a metody. Například před vytvořením studentského objektu by měl existovat student třídy s vlastnostmi a metodami. Student může mít vlastnosti, jako je ID studenta, jméno a metody, jako je čtení, zápis, studium. Metody popisují chování, zatímco vlastnosti jsou atributy. Po vytvoření třídy je možné pomocí nich vytvářet objekty. Vytváření objektů se také nazývá Instantiation Object. Objekt neexistuje izolovaně. Komunikují s jinými objekty a data jsou předávána uvnitř objektů. Jedním z pilířů OOP je dědičnost. Účelem dědičnosti je zvýšit opakovatelnost kódu. Vytváří novou třídu vlastností a metod již existující třídy. Stávající třída se nazývá základní třída a nová třída se nazývá odvozená třída. Vícenásobná dědičnost a víceúrovňová dědičnost jsou typy dědičnosti. Tento článek popisuje rozdíl mezi nimi. klíčový rozdíl mezi vícenásobným a víceúrovňovým dědictvím je to Vícenásobná dědičnost je, když třída zdědí z mnoha základních tříd, zatímco víceúrovňová dědičnost je, když třída zdědí odvozenou třídu, čímž z této odvozené třídy vytvoří základní třídu pro novou třídu.

OBSAH

1. Přehled a klíčový rozdíl
2. Co je vícenásobné dědictví
3. Co je to víceúrovňové dědictví
4. Podobnosti mezi vícenásobným a víceúrovňovým dědictvím
5. Porovnání vedle sebe - vícenásobné vs víceúrovňové dědictví v tabulkové formě
6. Shrnutí

Co je vícenásobné dědictví?

Vícenásobné dědictví je, když třída zdědí více než jednu základní třídu.

Obrázek 01: Vícenásobná dědičnost

A B a C jsou třídy. A a B jsou základní třídy a C je odvozená třída. Třída C musí řídit závislost obou základních tříd A a B. V softwarových projektech se mnoho dědictví často nepoužívá. Díky tomu je systém složitější, protože jedna třída dědí mnoho tříd.

Předpokládejme například, že jak třída A, tak B mají metodu se stejným názvem, která je sum () a třída C odvozuje obě třídy. Po vytvoření objektu typu C a volání metody sum () to může způsobit chybu, protože obě třídy mají stejnou metodu. Kompilátor neví, jakou funkci volat. Vícenásobná dědičnost proto zvyšuje složitost systému. Multiple Inheritance je podporována v jazyce C ++, ale jazyky jako Java, C # nepodporují Multiple Inheritance. Místo toho tyto jazyky používají rozhraní, které je podobné třídě, ale nelze jej vytvořit.

Co je víceúrovňové dědictví?

Víceúrovňová dědičnost je, když třída zdědí odvozenou třídu, čímž z této odvozené třídy vytvoří základní třídu pro novou třídu.

Obrázek 02: Víceúrovňová dědičnost

Víceúrovňové dědictví má tři úrovně. Mezitřída, kterou B dědí od třídy A a třídy C, dědí od třídy B. A je základní třída pro B a B je základní třída pro C.

Program, který implementuje víceúrovňové dědictví, je následující. Program je psán pomocí Java.

Obrázek 03: Program, který implementuje víceúrovňové dědictví

Podle výše uvedeného programu je třída A základní třídou pro třídu B. Třída B je základní třídou pro třídu C. Všechny vlastnosti a metody třídy A jsou přístupné třídou B. Všechny vlastnosti a metody třídy B jsou přístupné třídou C. Proto třída C může přistupovat k vlastnostem a metodám A i B. Při vytváření objektu typu C je možné volat všechny tři metody A (), B () a C (). Výstup poskytne A, B, C.

Jaká je podobnost mezi vícenásobným a víceúrovňovým dědictvím?

  • Oba jsou typy dědičnosti.

Jaký je rozdíl mezi vícenásobným a víceúrovňovým dědictvím?

Vícenásobná dědičnost vs víceúrovňová dědičnost

Vícenásobná dědičnost je typ dědičnosti, kdy třída dědí z více než jedné základní třídy. Víceúrovňová dědičnost je typ dědičnosti, který dědí po odvozené třídě, díky čemuž je odvozená třída základní třídou pro novou třídu.
 Používání
Vícenásobná dědičnost není široce používána, protože činí systém složitějším. Víceúrovňové dědictví je široce používáno.
Úrovně třídy
Vícenásobná dědičnost má dvě úrovně třídy, a to základní a odvozenou třídu. Víceúrovňová dědičnost má tři úrovně tříd, a to základní třídu, střední třídu a odvozenou třídu.

souhrn - Vícenásobné vs víceúrovňové dědictví

Dědičnost je hlavním pilířem objektově orientovaného programování. Existují různé typy dědičnosti; jsou to dědičnost na jedné úrovni, víceúrovňová dědičnost, vícenásobná dědičnost, hierarchická dědičnost a hybridní dědičnost. Dědičnost jedné úrovně má jednu základní třídu a jednu odvozenou třídu. Hierarchická dědičnost má jednu základní třídu a mnoho odvozených tříd. Hybridní dědičnost je kombinací víceúrovňové a vícenásobné dědičnosti. Tento článek popisuje rozdíl mezi vícenásobnou dědičností a víceúrovňovou dědičností. Rozdíl mezi vícenásobnými a víceúrovňovými dědičnostmi je ten, že vícenásobná dědičnost je, když třída zdědí z mnoha základních tříd, zatímco víceúrovňová dědičnost je, když třída zdědí odvozenou třídu, což z této odvozené třídy učiní základní třídu pro novou třídu. Víceúrovňová dědičnost je široce používána než vícenásobná dědičnost.

Stáhněte si PDF Více verzí víceúrovňové dědičnosti

Můžete si stáhnout PDF verzi tohoto článku a použít ji pro účely offline podle citace. Stáhněte si PDF verzi zde Rozdíl mezi více a víceúrovňovým dědičností

Odkaz:

1.Singh, Chaitanya, et al. "Druhy dědičnosti v Javě: Single, Multiple, Multilevel & Hybrid." Beginnersbook.com, 6. prosince 2013. K dispozici zde
2.tutorialspoint.com. "Dědičnost Java." Bod. K dispozici zde 

Obrázek se svolením:

1.'Multiple Inheritance'By Suman Maverick Gangulian Suman420 - vlastní práce, (CC BY 3.0) přes Commons Wikimedia 
2.'Multilevel Inheritance'By Autor: Suman Maverick Gangulian Suman420 (diskuse) 12:03, 2. března 2015 (UTC) - vlastní práce, (CC BY 3.0) prostřednictvím Commons Wikimedia