Różnica Między Polimorfizmem A Dziedziczeniem W OOP

Spisu treści:

Różnica Między Polimorfizmem A Dziedziczeniem W OOP
Różnica Między Polimorfizmem A Dziedziczeniem W OOP

Wideo: Różnica Między Polimorfizmem A Dziedziczeniem W OOP

Wideo: Różnica Między Polimorfizmem A Dziedziczeniem W OOP
Wideo: sub) 일상 속 제로웨이스트 실천 방법 여섯가지 /물건 재활용으로 삶의 질 높이기, 천연세제 활용 나무식기 세척법과 관리 방법, 2024, Grudzień
Anonim

Kluczowa różnica - polimorfizm a dziedziczenie w OOP

Programowanie obiektowe (OOP) jest powszechnie używane do tworzenia oprogramowania. Wiele języków programowania obsługuje programowanie obiektowe. Programowanie zorientowane obiektowo to metodologia projektowania programu przy użyciu klas i obiektów. Klasa w OOP jest planem tworzenia obiektu. Klasa ma właściwości i metody. Obiekt jest instancją klasy. OOP obejmuje cztery filary, takie jak dziedziczenie, polimorfizm, abstrakcja i enkapsulacja. W tym artykule omówiono różnicę między polimorfizmem a dziedziczeniem w OOP. Kluczową różnicą między polimorfizmem a dziedziczeniem w OOP jest to, że polimorfizm to zdolność obiektu do zachowywania się na wiele sposobów, a dziedziczenie polega na utworzeniu nowej klasy przy użyciu właściwości i metod istniejącej klasy.

ZAWARTOŚĆ

1. Przegląd i kluczowe różnice

2. Czym jest polimorfizm w OOP

3. Co to jest dziedziczenie w OOP

4. Podobieństwa między polimorfizmem a dziedziczeniem w OOP

5. Porównanie obok siebie - polimorfizm vs dziedziczenie w OOP w formie tabelarycznej

6. Podsumowanie

Co to jest polimorfizm w OOP?

Polimorfizm ma wskazywać na wiele form. Jeden obiekt może mieć wiele zachowań. Polimorfizm można podzielić na dwie kategorie. Są przeciążające i nadrzędne.

Przeciążenie

Zapoznaj się z poniższym programem napisanym w Javie.

Różnica między polimorfizmem a dziedziczeniem w OOP
Różnica między polimorfizmem a dziedziczeniem w OOP

Rysunek 01: Przeciążenie

Zgodnie z powyższym programem tworzony jest obiekt typu A. Podczas wywoływania obj.sum (); da wynik związany z metodą sum (). Podczas wywoływania obj.sum (2,3); da wynik związany z sumą (int a, int b). Można zaobserwować, że ten sam obiekt zachowuje się różnie w zależności od sytuacji. Gdy istnieje wiele metod o tej samej nazwie, ale z różnymi parametrami, nazywa się to przeciążaniem. Jest również znany jako statyczne wiązanie lub polimorfizm czasu kompilacji.

Nadrzędny

Nadrzędny jest inny typ polimorfizmu. Zapoznaj się z poniższym programem napisanym w Javie.

Różnica między polimorfizmem a dziedziczeniem w OOP Figure 02
Różnica między polimorfizmem a dziedziczeniem w OOP Figure 02

Rysunek 02: Zastępowanie

Zgodnie z powyższym programem w klasie A. znajduje się metoda display (). Klasa B rozciąga się od klasy A. Dlatego wszystkie metody w klasie A są dostępne dla klasy B. Jest to dziedziczenie. Koncepcja dziedziczenia zostanie opisana dalej.

Klasa B ma również tę samą metodę display (). Podczas tworzenia obiektu typu A i wywoływania metody wyświetlania, wynik daje B. Metoda wyświetlania klasy A jest zastępowana przez metodę wyświetlania klasy B. Zatem wyjście to B.

Gdy istnieją metody o tej samej nazwie i tych samych parametrach, ale w dwóch różnych klasach i są one połączone z dziedziczeniem, nazywa się to przesłanianiem. Jest również znany jako późne wiązanie, wiązanie dynamiczne, polimorfizm w czasie wykonywania. Przeciążanie i zastępowanie nazywane są polimorfizmem. Jest to główna koncepcja programowania obiektowego.

Co to jest dziedziczenie w OOP?

Zapoznaj się z poniższym programem napisanym w Javie.

Kluczowa różnica między polimorfizmem a dziedziczeniem w OOP
Kluczowa różnica między polimorfizmem a dziedziczeniem w OOP

Rysunek 03: Przykład dziedziczenia

Zgodnie z powyższym programem klasa A ma metodę sum (), a klasa B ma metodę sub ().

Metoda sum () klasy A może być używana w klasie B za pomocą słowa kluczowego ext. Ponowne użycie właściwości i metod w istniejącej klasie w celu utworzenia nowej klasy jest nazywane dziedziczeniem. Nawet w klasie B nie ma metody sum (); jest dziedziczony z klasy A. Dziedziczenie jest przydatne do ponownego wykorzystania kodu. Starsza klasa nazywana jest klasą bazową, nadklasą lub klasą nadrzędną. Klasa pochodna nazywana jest podklasą lub klasą potomną.

Rodzaje dziedziczenia

Istnieją różne rodzaje dziedziczenia. Są to dziedziczenie jednopoziomowe, dziedziczenie wielopoziomowe, dziedziczenie wielokrotne, dziedziczenie hierarchiczne i dziedziczenie hybrydowe.

Dziedziczenie pojedyncze

W Single Inheritance jest jedna superklasa i jedna podklasa. Jeśli klasa A jest superklasą, a klasa B jest podklasą, wszystkie właściwości i metody klasy A są dostępne dla klasy B. Jest tylko jeden poziom; dlatego nazywa się to dziedziczeniem jednopoziomowym.

Dziedziczenie wielopoziomowe

W dziedziczeniu wielopoziomowym istnieją trzy poziomy klas. Klasa pośrednia dziedziczy po superklasie. Podklasa dziedziczy po klasie pośredniej. Jeśli istnieją trzy klasy, to A, B i C, a A to super klasa, a B to klasa pośrednia. Następnie B dziedziczy po A, a C dziedziczy po B, jest to dziedziczenie wielopoziomowe.

Dziedziczenie wielokrotne

W dziedziczeniu wielokrotnym istnieje wiele superklas i jedna podklasa. Jeśli istnieją trzy superklasy zwane A, B, C i D jest podklasą, to klasa D może dziedziczyć z A, B i C. Wielokrotne dziedziczenie jest obsługiwane w języku programowania C ++. Nie jest obsługiwany w językach programowania, takich jak Java czy C #. Interfejsy służą do implementowania wielokrotnego dziedziczenia w tych językach.

Dziedziczenie hierarchiczne

Jeśli istnieją klasy zwane A jako nadklasy, a B, C są podklasami, te podklasy mogą dziedziczyć właściwości i metody klasy A. Ten rodzaj dziedziczenia jest znany jako dziedziczenie hierarchiczne.

Dziedziczenie hybrydowe

Istnieje inny specjalny typ dziedziczenia, który jest znany jako dziedziczenie hybrydowe. Jest to połączenie dziedziczenia wielopoziomowego i wielokrotnego. Jeśli A, B, C i D są klasami, a B dziedziczy po A, a D dziedziczy zarówno po B, jak i C, to jest to dziedziczenie hybrydowe.

Jakie są podobieństwa między polimorfizmem a dziedziczeniem w OOP?

Obie są koncepcjami programowania obiektowego

Jaka jest różnica między polimorfizmem a dziedziczeniem w OOP?

Porównaj środek artykułu przed tabelą

Polimorfizm a dziedziczenie w OOP

Polimorfizm to zdolność obiektu do zachowywania się na wiele sposobów. Dziedziczenie polega na utworzeniu nowej klasy przy użyciu właściwości i metod istniejącej klasy.
Stosowanie
Polimorfizm jest używany dla obiektów do wywoływania jakiej formy metody w czasie kompilacji i w czasie wykonywania. Dziedziczenie służy do ponownego wykorzystania kodu.
Realizacja
W metodach implementowany jest polimorfizm. Dziedziczenie jest realizowane w klasach.
Kategorie
Polimorfizm można podzielić na przeciążanie i nadpisywanie. Dziedziczenie można podzielić na dziedziczenie jednopoziomowe, wielopoziomowe, hierarchiczne, hybrydowe i wielokrotne.

Podsumowanie - Polimorfizm a dziedziczenie w OOP

Polimorfizm i dziedziczenie to główne koncepcje programowania obiektowego. Różnica między polimorfizmem a dziedziczeniem w OOP polega na tym, że polimorfizm jest wspólnym interfejsem dla wielu formularzy, a dziedziczenie polega na utworzeniu nowej klasy przy użyciu właściwości i metod istniejącej klasy. Obie koncepcje są szeroko stosowane w tworzeniu oprogramowania.

Pobierz PDF Polimorfizm a dziedziczenie w OOP

Możesz pobrać wersję PDF tego artykułu i używać jej w trybie offline, zgodnie z notą cytowania. Proszę pobrać wersję PDF tutaj Różnica między polimorfizmem a dziedziczeniem w OOP

Zalecane: