Kluczowa różnica – dziedziczenie wielopoziomowe a wielopoziomowe
Programowanie zorientowane obiektowo (OOP) to paradygmat projektowania programu przy użyciu klas i metod. Scenariusze świata rzeczywistego można mapować na obiekty. Dlatego łatwo jest budować rozwiązania programowe. Klasa to plan budowy obiektu. Zawiera właściwości i metody. Na przykład przed utworzeniem obiektu ucznia powinien istnieć uczeń klasy z właściwościami i metodami. Uczeń może mieć takie właściwości, jak legitymacja, imię i metody, takie jak czytanie, pisanie, nauka. Metody opisują zachowanie, podczas gdy właściwości są atrybutami. Po utworzeniu klasy możliwe jest tworzenie obiektów z ich wykorzystaniem. Tworzenie obiektów jest również znane jako tworzenie instancji obiektu. Obiekt nie istnieje w izolacji. Komunikują się z innymi obiektami, a dane są przekazywane wewnątrz obiektów. Jednym z filarów OOP jest dziedziczenie. Celem Inheritance jest zwiększenie możliwości ponownego wykorzystania kodu. Tworzy nową klasę właściwości i metod już istniejącej klasy. Istniejąca klasa jest nazywana klasą bazową, a nowa klasa jest nazywana klasą pochodną. Dziedziczenie wielokrotne i dziedziczenie wielopoziomowe to typy dziedziczenia. W tym artykule omówiono różnicę między nimi. Kluczową różnicą między dziedziczeniem wielopoziomowym a wielopoziomowym jest to, że dziedziczenie wielopoziomowe ma miejsce, gdy klasa dziedziczy z wielu klas bazowych, podczas gdy dziedziczenie wielopoziomowe ma miejsce, gdy klasa dziedziczy z klasy pochodnej, czyniąc tę klasę pochodną klasą bazową dla nowej klasy.
Co to jest wielokrotne dziedziczenie?
Wiele dziedziczenia ma miejsce, gdy klasa dziedziczy więcej niż jedną klasę bazową.
Rysunek 01: Wielokrotne dziedziczenie
A B i C to klasy. A i B są klasami podstawowymi, a C jest klasą pochodną. Klasa C musi zarządzać zależnościami obu klas bazowych A i B. Dziedziczenie wielokrotne nie jest powszechnie stosowane w projektach oprogramowania. To sprawia, że system jest bardziej złożony, ponieważ jedna klasa dziedziczy wiele klas.
Załóżmy na przykład, że obie klasy A i B mają metodę o tej samej nazwie, którą jest sum(), a klasa C wyprowadza obie klasy. Po utworzeniu obiektu typu C i wywołaniu metody sum() może to spowodować błąd, ponieważ obie klasy mają tę samą metodę. Kompilator nie wie, którą funkcję wywołać. Dlatego dziedziczenie wielokrotne zwiększa złożoność systemu. Wielokrotne dziedziczenie jest obsługiwane w języku C++, ale języki takie jak Java, C nie obsługują wielokrotnego dziedziczenia. Zamiast tego języki te używają interfejsu podobnego do klasy, ale nie można go utworzyć.
Co to jest dziedziczenie wielopoziomowe?
Dziedziczenie wielopoziomowe ma miejsce, gdy klasa dziedziczy z klasy pochodnej, czyniąc tę klasę pochodną klasą bazową dla nowej klasy.
Rysunek 02: Dziedziczenie wielopoziomowe
Dziedziczenie wielopoziomowe ma trzy poziomy. Klasa pośrednia, którą B dziedziczy z klasy A, a klasa C dziedziczy z klasy B. A jest klasą bazową dla B, a B jest klasą bazową dla C.
Program implementujący dziedziczenie wielopoziomowe jest następujący. Program jest napisany w Javie.
Rysunek 03: Program implementujący dziedziczenie wielopoziomowe
Zgodnie z powyższym programem klasa A jest klasą bazową dla klasy B. Klasa B jest klasą bazową dla klasy C. Wszystkie właściwości i metody klasy A są dostępne dla klasy B. Wszystkie właściwości i metody klasy B jest dostępny dla klasy C. Dlatego klasa C ma dostęp do właściwości i metod zarówno A, jak i B. Podczas tworzenia obiektu typu C można wywołać wszystkie trzy metody A(), B() i C(). Wyjście da A, B, C.
Jakie jest podobieństwo między dziedziczeniem wielopoziomowym a wielopoziomowym?
Oba są rodzajami dziedziczenia
Jaka jest różnica między dziedziczeniem wielopoziomowym a wielopoziomowym?
Dziedziczenie wielopoziomowe a dziedziczenie wielopoziomowe |
|
Wiele dziedziczenia to typ dziedziczenia, w którym klasa dziedziczy z więcej niż jednej klasy bazowej. | Dziedziczenie wielopoziomowe to typ dziedziczenia, który dziedziczy z klasy pochodnej, czyniąc tę klasę pochodną klasą bazową dla nowej klasy. |
Użycie | |
Dziedziczenie wielokrotne nie jest powszechnie stosowane, ponieważ czyni system bardziej złożonym. | Dziedziczenie wielopoziomowe jest szeroko stosowane. |
Poziomy klas | |
Wielokrotne dziedziczenie ma dwa poziomy klas, a mianowicie klasę podstawową i klasę pochodną. | Wielopoziomowe dziedziczenie ma trzy poziomy klas, a mianowicie klasę podstawową, klasę pośrednią i klasę pochodną. |
Podsumowanie – dziedziczenie wielopoziomowe a wielopoziomowe
Dziedziczenie jest głównym filarem programowania obiektowego. Istnieją różne rodzaje dziedziczenia; są to dziedziczenie jednopoziomowe, dziedziczenie wielopoziomowe, dziedziczenie wielokrotne, dziedziczenie hierarchiczne i dziedziczenie hybrydowe. Dziedziczenie jednopoziomowe ma jedną klasę podstawową i jedną klasę pochodną. Hierarchical Inheritance ma jedną klasę bazową i wiele klas pochodnych. Dziedziczenie hybrydowe to połączenie dziedziczenia wielopoziomowego i wielokrotnego. W tym artykule opisano różnicę między dziedziczeniem wielokrotnym a dziedziczeniem wielopoziomowym. Różnica między dziedziczeniem wielopoziomowym a wielopoziomowym polega na tym, że dziedziczenie wielopoziomowe ma miejsce, gdy klasa dziedziczy z wielu klas bazowych, podczas gdy dziedziczenie wielopoziomowe ma miejsce, gdy klasa dziedziczy z klasy pochodnej, co czyni tę klasę pochodną klasą bazową dla nowej klasy. Dziedziczenie wielopoziomowe jest powszechnie stosowane niż dziedziczenie wielopoziomowe.
Pobierz plik PDF z dziedziczeniem wielopoziomowym a wielopoziomowym
Możesz pobrać wersję PDF tego artykułu i używać jej do celów offline zgodnie z notatką cytowania. Proszę pobrać wersję PDF tutaj Różnica między dziedziczeniem wielopoziomowym a wielopoziomowym