Kluczowa różnica – superklasa a podklasa
W programowaniu zorientowanym obiektowo (OOP) system jest modelowany przy użyciu obiektów. Obiekty te są tworzone przy użyciu klasy. Klasa to plan lub opis tworzenia obiektu. Tworzenie obiektów jest również znane jako tworzenie instancji obiektów. Każdy obiekt komunikuje się z innymi obiektami. Program lub oprogramowanie można opracować za pomocą programowania obiektowego. Dziedziczenie jest główną koncepcją w OOP. Poprawia możliwość ponownego wykorzystania kodu. Zamiast implementować program od początku, pozwala dziedziczyć właściwości i metody już istniejącej klasy do nowej klasy. Pomaga uczynić program łatwiejszym w zarządzaniu. Nadklasa i Podklasa to dwa terminy związane z dziedziczeniem. W tym artykule omówiono różnicę między superklasą a podklasą. Kluczową różnicą między nadklasą a podklasą jest to, że nadklasa jest istniejącą klasą, z której pochodzą nowe klasy, podczas gdy podklasa jest nową klasą, która dziedziczy właściwości i metody nadklasy.
Co to jest superklasa?
W Dziedziczeniu, istniejąca klasa, z której pochodzą nowe klasy, jest nazywana Superklasą. Jest również znany jako klasa nadrzędna lub klasa bazowa.
Istnieją różne typy dziedziczenia. Zilustrowano je na poniższych przykładach. Rozważ A B i C jako klasy.
Rysunek 01: Rodzaje dziedziczenia
Rysunek 02: Dziedziczenie hybrydowe
Zgodnie z powyższymi diagramami superklasy różnią się w zależności od typu dziedziczenia. W dziedziczeniu jednopoziomowym A jest superklasą. W dziedziczeniu wielopoziomowym A jest Nadklasą dla B, a B jest Nadklasą dla C. W dziedziczeniu hierarchicznym A jest Nadklasą zarówno dla B, jak i C. W dziedziczeniu wielokrotnym zarówno A, jak i B są Nadklasami dla C.
Dziedziczenie hybrydowe to połączenie dziedziczenia wielopoziomowego i wielokrotnego. Na diagramie po lewej stronie A to Superklasa dla B, C i B, C to Superklasy dla D. Na schemacie po prawej stronie A to Superklasa dla B i B, D to Superklasy dla C.
Odnieś się do poniższego programu napisanego w Javie.
Rysunek 03: Program dziedziczenia w Javie
Zgodnie z powyższym programem, klasa A posiada metody sum() i sub(). Klasa B posiada metodę multiply(). Klasa B rozszerza klasę A. Dlatego właściwości i metody klasy A są dostępne dla klasy B. Dlatego klasa A jest Superklasą. Do utworzenia obiektu brany jest typ referencyjny klasy B. Tak więc wszystkie metody, takie jak sum(), sub() i multiply() są dostępne przez obiekt. Jeśli typ referencyjny Superclass jest używany do tworzenia obiektów, członkowie klasy B nie są dostępni. np. A obj=nowy B(); Dlatego odwołanie do klasy Superclass nie może wywołać metody multiply(), ponieważ ta metoda należy do klasy B.
Co to jest podklasa?
Zgodnie z powyższymi diagramami, podklasy różnią się w zależności od typu dziedziczenia. W pojedynczym dziedziczeniu B jest podklasą. W dziedziczeniu wielopoziomowym B jest podklasą A, a C jest podklasą B. W dziedziczeniu hierarchicznym B i C są podklasami A. W dziedziczeniu wielokrotnym C jest podklasą A i B.
W dziedziczeniu hybrydowym na diagramie po lewej stronie B i C są podklasami A. D to podklasa B i C. Na diagramie po prawej B to podklasa A. C to podklasa z B i D.
Zgodnie z powyższym programem dziedziczenia, klasa B rozszerza klasę A. Dlatego wszystkie właściwości i metody klasy A są dostępne dla klasy B. Klasa B to nowa klasa, która dziedziczy po klasie A. Jest znana jako podklasa. Jest również znany jako klasa podrzędna lub klasa pochodna. Klasa B ma metodę mnożenia () i może również uzyskać dostęp do metod sum() i sub() klasy A przy użyciu dziedziczenia.
Jakie jest podobieństwo między superklasą a podklasą?
Oba są związane z dziedziczeniem
Jaka jest różnica między superklasą a podklasą?
Nadklasa kontra podklasa |
|
Podczas implementacji dziedziczenia istniejąca klasa, z której pochodzą nowe klasy, jest Superklasą. | Podczas implementacji dziedziczenia, klasa, która dziedziczy właściwości i metody z nadklasy, jest podklasą. |
Synonimy | |
Nadklasa jest znana jako klasa podstawowa, klasa nadrzędna. | Podklasa jest znana jako klasa pochodna, klasa potomna. |
Funkcjonalność | |
Nadklasa nie może używać właściwości i metod podklasy. | Podklasa może korzystać z właściwości i metod Superklasy. |
Dziedziczenie jednopoziomowe | |
Jest jedna Superklasa. | Istnieje jedna podklasa. |
Dziedziczenie hierarchiczne | |
Jest jedna superklasa | Istnieje wiele podklas. |
Wielokrotne dziedziczenie | |
Istnieje wiele superklas. | Istnieje jedna podklasa. |
Podsumowanie – Superklasa kontra Podklasa
Dziedziczenie to koncepcja obiektów obiektowych. Umożliwia korzystanie z właściwości i metod istniejącej klasy, do których ma dostęp nowa klasa. Klasa dziedziczona to Superklasa, a klasa pochodna to Podklasa. Różnica między nadklasą a podklasą polega na tym, że nadklasa jest istniejącą klasą, z której pochodzą nowe klasy, podczas gdy podklasa jest nową klasą, która dziedziczy właściwości i metody nadklasy.
Pobierz PDF Superclass vs Subclass
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 superklasą a podklasą