Rodzaje polimorfizmu w Javie | Wyjaśnione

Rodzaje polimorfizmu w Javie | Wyjaśnione
Polimorfizm to zdolność, która pozwala obiektowi przenosić wiele form lub proste słowa, który pozwala nam tworzyć jedno zadanie na różne sposoby. Na przykład polimorfizm pozwala nam tworzyć wiele metod o tej samej nazwie, ale implementacja każdej metody będzie inna niż inna metoda. W Javie koncepcja polimorfizmu może być wdrażana w czasie wykonywania lub w czasie kompilacji.

Ten zapis przedstawia dokładny przegląd rodzajów polimorfizmu, jak wymieniono poniżej:

  • Co to jest polimorfizm w Javie
  • Polimorfizm statyczny/kompilacji w Javie
  • Dynamiczny/wykonawczy polimorfizm w Javie

Więc zacznijmy!

Co to jest polimorfizm w Javie

Słowo polimorfizm to połączenie dwóch greckich słów poli oznacza wiele i Morphs oznacza zatem formy połączone słowo wielopostaciowość oznacza wiele/wiele formularzy. Polimorfizm pozwala nam wykonywać określone zadanie na różne sposoby

Przykład

Rozważmy poniższe wymienione przykłady rzeczywistych, aby zrozumieć koncepcję polimorfizmu:

Zwierzęta: Lion ryczy, szczeka dla psów, sąsiadów koni i tak dalej.

Teraz zrozummy powyższą koncepcję pod względem programowania Java, w tym przykładzie Zwierząt to klasa i "Dźwięki()" jest jego metodą:

Tutaj Zwierząt to klasa ogólna, której nie można ograniczyć tylko jednym dźwiękiem jak ryk, kora itp. Tak więc klasa będzie miała ogólną implementację, którą można rozszerzyć przez inne klasy.

Ponadto, Lew, Pies, I Koń (podklasy) mogą rozszerzyć właściwości klasy nadrzędnej Zwierzę. Klasy dzieci odziedziczą funkcję ich klasy nadrzędnej i mogą zastąpić implementację tej funkcji.

Zatem polimorfizm w Javie pozwala wykorzystać tę samą metodę do wykonywania różnych funkcji. W Javie polimorfizm można osiągnąć za pomocą czasu kompilacji lub czasu wykonawczego.

Polimorfizm statyczny/kompilacji w Javie

W polimorfizmie czasu kompilacji obiekty CALSS są ograniczone metodami w czasie kompilacji. Polimorfizm w czasie kompilacji jest obsługiwany przez kompilator i obsługuje koncepcję przeciążenia metodą.

Przeciążenie metody w polimorfizmie czasu kompilacji pozwala klasie tworzyć wiele metod o tej samej nazwie, ale różne implementacje pod względem parametrów. I istnieją pewne reguły dla tych parametrów wymienionych poniżej:

Możemy tworzyć wiele metod o tej samej nazwie, ale z inną sekwencją/kolejnością parametrów.

Możemy utworzyć więcej niż jedną metodę o tej samej nazwie, ale z różnymi typami danych parametrów:

Możemy tworzyć wiele metod o tej samej nazwie, ale z inną liczbą parametrów.

Rozważmy przykład głębokiego zrozumienia polimorfizmu w czasie kompilacji:

Przykład

W tym przykładzie stworzyliśmy dwie klasy:

Mnożenie.Jawa

Mnożenie klasa tworzy trzy metody o tej samej nazwie "produkt()", Pierwsza metoda przyjmuje dwie wartości całkowitej, druga przyjmuje dwie podwójne wartości, a trzecia jedna ma trzy wartości całkowitej:

pakiet główny;
Mnożenie klasy publicznej
int produkt (int num1, int num2)
return num1 * num2;

podwójny produkt (Double NUM1, Double NUM2)
return num1 * num2;

int produkt (int num1, int num2, int num3)
return num1 * num2 * num3;

Zrzut ekranu wyżej oddanego kodu będzie taki:

Główny.Jawa

W obrębie Główny klasa, stworzyliśmy obiekt klasy mnożenia i nazwaliśmy wszystkie trzy metody Mnożenie klasa:

pakiet główny;
Klasa publiczna Main
public static void main (string [] args)
Mnożenie obj = new mnożenie ();
System.na zewnątrz.println („wynik dwóch wartości int:” + obj.produkt (5, 12));
System.na zewnątrz.println („wynik trzech wartości int:” + obj.produkt (4, 15, 2));
System.na zewnątrz.println („wynik podwójnych wartości:” + obj.produkt (5.5, 2.67));

Pełny kod Główny Klasa pokazano na poniższym rysunku:

Wyjście pójdzie w ten sposób:

Z powyższego wyjścia obserwujemy, że:

Kiedy minęliśmy te dwa int Wartości następnie produkt Metoda o dwóch int Parametry zostaną wykonane.

Kiedy minęliśmy trzy int Wartości następnie produkt Metoda o trzech int Parametry zostaną wykonane.

Podobnie, kiedy minęliśmy te dwa podwójnie Wartości następnie produkt Metoda o dwóch podwójnie Parametry zostaną wykonane.

Dynamiczny/wykonawczy polimorfizm w Javie

W czas wykonawczy Polimorfizm, obiekty są ograniczone metodami w czasie wykonywania (wiązanie dynamiczne). Dynamiczny lub wykonywany polimorfizm wspiera koncepcję Metoda zastępująca.

  • W OOP termin nadrzędny odnosi się do zastępowania funkcjonalności istniejących metod.
  • W polimorfizmie środowiska wykonawczego typ i lista parametru muszą być takie samo w metodzie zastąpionej.
  • Typ powrotu metody musi być taki sam zarówno w superklasie, jak i podklasie.
  • Klasa nadrzędna posiadająca metodę zadeklarowaną końcową, prywatną lub statyczną nie można zastąpić w podklasie.

Rzućmy okiem na podany poniżej przykład głębokiego zrozumienia polimorfizmu w środowisku wykonawczym.

Przykład

Poniższy fragment kodu tworzy trzy klasy: Osoba, pracownik, I Dział, Osoba Klasa to klasa rodzicielska, Pracownik Klasa rozszerza się Osoba klasa i Dział Klasa sięguje Pracownik klasa.

Osoba klasowa
public void print ()
System.na zewnątrz.println („To jest klasa osoby”);


Pracownik klasy rozszerza osobę
public void print ()
System.na zewnątrz.println („To jest klasa pracowników”);


Departament klasy rozszerza pracownika
public void print ()
System.na zewnątrz.println („to jest klasa działu”);


Klasa publiczna RuntimeExample
public static void main (string [] args)
Osoba per = nowa osoba ();
Osoba emp = nowy pracownik ();
Osobowość = nowy dział ();
za.wydrukować();
emp.wydrukować();
Wydział.wydrukować();

Zajęcia dziecka rozszerzają wydrukować() Metoda z ich klas rodziców i mają również własną wdrożenie tej metody print (). I w ramach głównej metody tworzymy obiekt każdej klasy i wywołujemy wydrukować() Metoda z odpowiednim obiektem klasy. Pełny kod i dane wyjściowe podano na poniższym zrzucie ekranu:

Powyższe dane wyjściowe weryfikuje, że kiedy wywołujemy funkcje drukowania z każdym obiektem klasy dziecka, zastępują implementację funkcji klasy nadrzędnej ().

Wniosek

Polimorfizm pozwala nam tworzyć wiele metod o tej samej nazwie, ale z różnymi implementacjami w klasach dla rodziców i dzieci. Można go osiągnąć w czasie kompilacji, co wspiera koncepcję przeciążenia metodą lub w czasie wykonywania, która wspiera koncepcję zastępowania. Ten zapis przedstawia szczegółowy przegląd środowiska wykonawczego i kompilacji polimorfizmu i wyjaśnia, co to jest polimorfizm, jego typy i reguły do ​​wdrożenia każdego typu.