Klíčový rozdíl - vícenásobná vs víceúrovňová dědičnost
Objektově orientované programování (OOP) je paradigma pro návrh programu pomocí tříd a metod. Scénáře reálného 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 objektu studenta 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ů je také známé jako instance objektů. Objekt neexistuje izolovaně. Komunikují s jinými objekty a data jsou předávána v rámci objektů. Jedním z pilířů OOP je dědičnost. Účelem dědičnosti je zvýšit opětovnou použitelnost kódu. Vytvoří novou třídu vlastností a metod již existující třídy. Existující třída je známá jako základní třída a nové třídě se říká 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 pojednává o rozdílech mezi nimi. Klíčovým rozdílem mezi Multiple a Multilevel Inheritance je, že Multiple Inheritance je, když třída dědí z mnoha základních tříd, zatímco Multilevel Inheritance je, když třída dědí z odvozené třídy, takže tato odvozená třída je základní třídou pro novou třídu. Vícenásobná dědičnost a víceúrovňová dědičnost jsou typy dědičnosti. Tento článek pojednává o rozdílech mezi nimi. Klíčovým rozdílem mezi Multiple a Multilevel Inheritance je, že Multiple Inheritance je, když třída dědí z mnoha základních tříd, zatímco Multilevel Inheritance je, když třída dědí z odvozené třídy, takže tato odvozená třída je základní třídou pro novou třídu. Vícenásobná dědičnost a víceúrovňová dědičnost jsou typy dědičnosti. Tento článek pojednává o rozdílech mezi nimi. Klíčovým rozdílem mezi Multiple a Multilevel Inheritance je, že Multiple Inheritance je, když třída dědí z mnoha základních tříd, zatímco Multilevel Inheritance je, když třída dědí z odvozené třídy, takže tato odvozená třída je základní třídou pro novou třídu.
OBSAH
1. Přehled a klíčový rozdíl
2. Co je to vícenásobná dědičnost
3. Co je to víceúrovňová dědičnost
4. Podobnosti mezi vícenásobnou a víceúrovňovou dědičností
5. Porovnání vedle sebe - vícenásobná vs víceúrovňová dědičnost ve formě tabulky
6. Souhrn
Co je to vícenásobné dědictví?
Multiple Inheritance is when a class inherits more than one base class.
Obrázek 01: Vícenásobná dědičnost
AB a C jsou třídy. A a B jsou základní třídy a C je odvozená třída. Třída C musí spravovat závislost obou základních tříd A a B. Vícenásobné dědictví se v softwarových projektech příliš nepoužívá. Díky němu je systém složitější, protože jedna třída dědí mnoho tříd.
Předpokládejme například, že třída A i 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 () může dojít k chybě, protože obě třídy mají stejnou metodu. Kompilátor neví, kterou funkci má volat. Proto vícenásobná dědičnost zvyšuje složitost systému. Vícenásobná dědičnost je podporována v jazyce C ++, ale jazyky jako Java, C # nepodporují vícenásobnou dědičnost. Místo toho tyto jazyky používají rozhraní podobné třídě, ale nelze je vytvořit instancí.
Co je víceúrovňová dědičnost?
Víceúrovňová dědičnost je, když třída dědí z odvozené třídy, která z této odvozené třídy dělá základní třídu pro novou třídu.
Obrázek 02: Víceúrovňová dědičnost
Víceúrovňová dědičnost má tři úrovně. Mezilehlá třída, kterou B dědí z třídy A a třída C dědí z 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ňovou dědičnost, je následující. Program je psán pomocí Java.
Obrázek 03: Program, který implementuje víceúrovňovou dědičnost
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řídě B. Všechny vlastnosti a metody třídy B jsou přístupné třídě C. Třída C proto 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 dá A, B, C.
Jaká je podobnost mezi vícenásobnou a víceúrovňovou dědičností?
Oba jsou typy dědičnosti
Jaký je rozdíl mezi více a víceúrovňovou dědičností?
Rozdílný článek uprostřed před tabulkou
Vícenásobná dědičnost vs. víceúrovňová dědičnost |
|
Multiple Inheritance is an Inheritance type where a class inherits from more than one base class. | Multilevel Inheritance is an Inheritance type that inherits from a derived class, making that derived class a base class for a new class. |
Používání | |
Multiple Inheritance není široce používán, protože dělá systém složitějším. | Víceúrovňová dědičnost je široce používána. |
Úrovně tříd | |
Vícenásobná dědičnost má dvě úrovně třídy, jmenovitě základní třídu 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. |
Shrnutí - Vícenásobná vs víceúrovňová dědičnost
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. Jednoúrovňová dědičnost 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 popsal rozdíl mezi vícenásobnou dědičností a víceúrovňovou dědičností. Rozdíl mezi vícenásobnou a víceúrovňovou dědičností spočívá v tom, že vícenásobná dědičnost je, když třída dědí z mnoha základních tříd, zatímco víceúrovňová dědičnost je, když třída dědí z odvozené třídy, což z této odvozené třídy dělá 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 Multiple vs Multilevel Inheritance
Můžete si stáhnout verzi tohoto článku ve formátu PDF a použít jej pro offline účely podle citace. Stáhněte si zde PDF verzi. Rozdíl mezi vícenásobnou a víceúrovňovou dědičností