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

Kluczowa różnica - polimorfizm vs dziedziczenie w OOP
 

Programowanie obiektowe (OOP) jest powszechnie stosowane do tworzenia oprogramowania. Wiele języków programowania obsługuje programowanie obiektowe. Programowanie obiektowe to metodologia projektowania programu z wykorzystaniem klas i obiektów. Klasa w OOP to schemat tworzenia obiektu. Klasa ma właściwości i metody. Obiekt jest instancją klasy. OOP zawiera cztery filary, takie jak dziedziczenie, polimorfizm, abstrakcja i enkapsulacja. W tym artykule omówiono różnicę między polimorfizmem a dziedziczeniem w OOP. The kluczowa różnica między polimorfizmem a dziedziczeniem w OOP jest właśnie to Polimorfizm to zdolność obiektu do zachowania 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 kluczowa różnica
2. Co to 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ć wiele form. Jeden obiekt może mieć wiele zachowań. Polimorfizm można podzielić na dwie kategorie. Przeciążają i zastępują.

Przeciążenie

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

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 ma różne zachowania w zależności od sytuacji. Gdy istnieje wiele metod o tej samej nazwie, ale o różnych parametrach, jest to znane jako przeciążenie. Jest również znany jako wiązanie statyczne lub skompilować polimorfizm czasowy.

Nadrzędny

Innym rodzajem polimorfizmu jest nadrzędny. Zapoznaj się z poniższym programem napisanym w Javie.

Rysunek 02: Przesłanianie

Zgodnie z powyższym programem istnieje metoda display () w klasie A. Klasa B rozciąga się na klasę A. Dlatego wszystkie metody w klasie A są dostępne dla klasy B. Jest to dziedziczenie. Pojęcie dziedziczenia opisano dalej.

Klasa B ma również tę samą metodę display (). Podczas tworzenia obiektu typu A i wywoływania metody wyświetlania dane wyjściowe dadzą B. Metoda wyświetlania klasy A jest zastępowana metodą wyświetlania klasy B. Zatem wynikiem jest B.

Kiedy istnieją metody o tej samej nazwie i tych samych parametrach, ale w dwóch różnych klasach i są one powiązane z dziedziczeniem, jest to znane jako przesłonięcie. Jest również znany jako Późne wiązanie, dynamiczne wiązanie, polimorfizm w środowisku wykonawczym. Przeciążenie i zastąpienie nazywane są polimorfizmem. Jest to ważna koncepcja w programowaniu obiektowym.

Co to jest dziedziczenie w OOP?

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

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 przy użyciu słowa kluczowego ext. Ponowne użycie właściwości i metod w istniejącej klasie w celu utworzenia nowej klasy jest znane jako Dziedziczenie. Nawet w klasie B nie ma metody sum (); jest dziedziczony z klasy A. Dziedziczenie jest przydatne do ponownego użycia kodu. Starsza klasa nazywa się klasa podstawowa, nadklasa lub klasa rodzicielska. Klasa pochodna nosi nazwę podklasa lub klasa dla dzieci.

Rodzaje dziedziczenia

Istnieją różne rodzaje dziedziczenia. Są to: dziedziczenie na jednym poziomie, dziedziczenie na wielu poziomach, dziedziczenie wielokrotne, dziedziczenie hierarchiczne i dziedziczenie hybrydowe.

Pojedyncze dziedzictwo

W Single Inheritance istnieje 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. Istnieje tylko jeden poziom; dlatego nazywane jest dziedziczeniem jednopoziomowym.

Dziedziczenie wielopoziomowe

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

Wielokrotne dziedziczenie

W wielokrotnym dziedziczeniu istnieje wiele superklas i jedna podklasa. Jeśli istnieją trzy superklasy zwane A, B, C, a D jest podklasą, klasa D może dziedziczyć po 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 lub C #. Interfejsy są używane do implementacji wielokrotnego dziedziczenia w tych językach.

Dziedziczenie hierarchiczne

Jeśli istnieją klasy zwane A jako superklasy, 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, znany jako dziedziczenie hybrydowe. Jest to połączenie wielopoziomowego i wielokrotnego dziedziczenia. Jeśli A, B, C i D są klasami, a B dziedziczy z A, a D dziedziczy zarówno z B, jak i C, to jest to dziedziczenie hybrydowe.

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

  • Oba są koncepcjami programowania obiektowego.

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

Polimorfizm vs dziedziczenie w OOP

Polimorfizm to zdolność obiektu do zachowania 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 służy do wywoływania przez obiekty, która forma metod w czasie kompilacji i w czasie wykonywania. Dziedziczenie służy do ponownego użycia kodu.
Realizacja
Polimorfizm realizowany jest metodami. Dziedziczenie jest realizowane w klasach.
 Kategorie
Polimorfizm można podzielić na przeciążanie i zastępowanie. Dziedziczenie można podzielić na jednopoziomowe, wielopoziomowe, hierarchiczne, hybrydowe i wielokrotne.

streszczenie - Polimorfizm vs dziedziczenie w OOP 

Polimorfizm i dziedziczenie to główne pojęcia w programowaniu obiektowym. Różnica między polimorfizmem a dziedziczeniem w OOP polega na tym, że polimorfizm jest wspólnym interfejsem wielu form, 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 rozwoju oprogramowania.

Pobierz PDF Polimorfizm vs Dziedziczenie w OOP

Możesz pobrać wersję PDF tego artykułu i używać go do celów offline zgodnie z cytatem. Pobierz wersję PDF tutaj Różnica między polimorfizmem a dziedziczeniem w OOP

Odniesienie:
  1. 8.3 Co to jest dziedziczenie w Javie | Wykład | Instruktaż, Telusko Learning, 15 maja 2014 r. Dostępne tutaj  
  2. Polimorfizm w samouczku Java, Telusko Learning, 15 maja 2014 r. Dostępne tutaj