Wprowadzenie do polimorfizmu w Javie

Polimorfizm jest definiowany jako koncepcja, w której przy pomocy jednego działania można wykonać na wiele sposobów. Słowo pochodzi od 2 greckich słów, które są zarówno poli-, jak i morficzne. Tutaj, jak być może wiecie, „poli” implikuje wiele, a także „przekształcenia” implikuje wiele form. Dlatego słowo polimorfizm oznaczałoby wiele form. Przyjrzyjmy się teraz szczegółowo polimorfizmowi w java.

Jak działa polimorfizm w Javie?

Polimorfizm jest cechą programową OOO. Za każdym razem, gdy go używamy, klasa ma zdolność do wykazywania wielu funkcjonalności, nawet jeśli wykazują one wspólny interfejs. Dlatego możemy założyć, że długie słowo w rzeczywistości mówi o bardzo prostej koncepcji.

Rzeczą wartą uwagi na temat polimorfizmu jest to, że cały działający kod, który istnieje w wielu klasach, tak naprawdę nie musi rozumieć, z której klasy korzysta ten sam sposób użycia, jest taki sam.

Załóżmy przykład polimorfizmu w świecie rzeczywistym. Załóżmy przycisk. Wszyscy wiecie, że jeśli zastosujemy odrobinę nacisku, będzie można nacisnąć przycisk, jednak nie będziemy wiedzieć, jaki jest nacisk na przycisk i cel użycia. Zwróć więc uwagę, że tutaj należy się zająć, tak czy inaczej, wynik nie wpłynie na używaną procedurę.

Podstawowym celem polimorfizmu jest zatem tworzenie obiektów, które są wymienne w zależności od potrzeb.

Rodzaje polimorfizmu w Javie

Dwa typy polimorfizmu to polimorfizm w czasie kompilacji i polimorfizm w czasie wykonywania. Polimorfizm w czasie kompilacji jest wykonywany przez przeciążenie metody, a polimorfizm w środowisku wykonawczym przez przesłonięcie metody.

Polimorfizm środowiska wykonawczego, zwany także dynamiczną wysyłką metod, jest procesem, w którym wywołanie zastąpionej metody jest rozwiązywane w czasie wykonywania pomimo czasu kompilacji. W tym przypadku metoda zastępowana jest wywoływana przez zmienną referencyjną klasy nadrzędnej. Ponadto polimorfizm środowiska wykonawczego nie może zostać osiągnięty przez członków danych.

Znaczenie polimorfizmu w Javie

Jeśli odrzucimy zarówno dynamiczny polimorfizm, jak i statyczny polimorfizm, w programowaniu istnieją pewne cechy programistyczne Javy, które wykazują polimorfizm inny niż te dwa ważne typy.

Są to: przymus, przeciążenie operatora i parametry polimorficzne.

Przymus

Spróbujmy zrozumieć znaczenie przymusu w tym przykładzie. Załóżmy, że istnieje wartość ciągu, która jest równa wartości: Załóżmy, że druga liczba ma wartość 2. Co by się stało, gdyby połączyć tę wartość ciągu z tą liczbą? Wynik, który wyciągniemy z tego połączenia, byłby „co value: 2”. Jest to znane jako przymus. Jest to konwersja typu niejawnego, która jest wykonywana w celu zapobiegania błędom.

Przeciążenie operatora

Kiedy zaczniemy od koncepcji przeciążenia operatora, pozwól mi rzucić okiem na jeden scenariusz. Załóżmy, że istnieje ciąg znaków o wartości „Operate” i drugi, który ma wartość „Overload”. Następnie użylibyśmy symbolu plus (+) w taki sam sposób, jak dodanie 2 liczb. To (+) byłoby konkatenacją. Jeśli weźmiemy pod uwagę dwie liczby całkowite, wówczas dodanie tych dwóch liczb zostanie zwrócone. Ilekroć jeden symbol lub operator ma możliwość zmiany interpretacji, biorąc pod uwagę zastosowaną procedurę, rodzaj polimorfizmu, który jest wykonywany, jest znany jako przeciążenie operatora.

Parametry polimorficzne

Oznacza to zezwalanie na dostęp do dowolnego obiektu na jeden z poniższych sposobów podany jako pod -

  1. Zastosowanie zmiennej referencyjnej, która należy do jednej z klas nadrzędnych.
  2. Zastosowanie zmiennej referencyjnej należącej do klasy, w której ona istnieje.

Zakres polimorfizmu

Powiązanie oznacza połączenie wywołania metody z treścią metody. Istnieją dwa rodzaje wiązania:

  • Pierwsza to wiązanie statyczne, co oznacza, że ​​typ obiektu został określony podczas kompilacji.
  • Drugim jest powiązanie dynamiczne, co oznacza, że ​​typ obiektu został określony w czasie wykonywania.

Jedynym powodem, dla którego wymagany jest polimorfizm, jest to, że jego koncepcja jest niezwykle potrzebna przy wdrażaniu dziedziczenia. Ponadto odgrywa bardzo istotną rolę, pozwalając obiektom na dziedziczenie wielu struktur podczas udostępniania interfejsu. Polimorfizm został wyraźnie wymieniony jako jedyny, który jest mapowany dla wielu.

Przykłady polimorfizmu w Javie

Poniżej znajdują się różne przykłady polimorfizmu w Javie:

Przykład # 1 - Program Java, aby pokazać Przeciążenie metody

Kod:

class methodOverload (
static int multi(int x, int y)
(
return x * y;
)
// Method with the same name but with 2 double arguments
static double multi(double x, double y)
(
return x * y;
)
)
class Main (
public static void main(String() args)
(
System.out.println(methodOverload.multi(6, 2));
System.out.println(methodOverload.multi(1.2, 1.2));
)
)

Wynik:

Przykład # 2 - program Java do prezentacji przeciążenia operatora

Kod:

class operator (
void oper(String s, String s2)
(
String s = s + s2;
System.out.println("Concatenated String is"
+ s);
)
void oper(int a, int b)
(
int c = a + b;
System.out.println("Sum is : " + c);
)
)
class Main (
public static void main(String() args)
(
operator o = new operator();
o.oper(1, 2);
o.oper("hi", "bye");
)
)

Wynik:

Przykład # 3 - Program Java do przeciążania metod

Kod:

class Multi (
// Method with 2 parameter
static int Multi(int a, int b)
(
return a * b;
)
static int Multi(int a, int b, int c)
(
return a * b * c;
)
)
class Main (
public static void main(String() args)
(
System.out.println(Multi.Multi(2, 3));
System.out.println(Multi.Multi(2, 3, 3));
)
)

Wynik:

Wniosek

Jedynym powodem, dla którego wymagany jest polimorfizm, jest to, że jego koncepcja jest ogromnie potrzebna przy wdrażaniu dziedziczenia. Ponadto odgrywa bardzo istotną rolę, pozwalając obiektom na dziedziczenie wielu struktur podczas udostępniania interfejsu. Polimorfizm został wyraźnie wymieniony jako jedyny, który jest mapowany dla wielu.

Polecane artykuły

To jest przewodnik po polimorfizmie w Javie. Tutaj omawiamy działanie polimorfizmu w Javie z jego typami i znaczeniem, a także różne przykłady i implementację kodu. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Polimorfizm w C #
  2. JTextField w Javie
  3. Przeładowanie i przesłonięcie w C ++
  4. Co to jest dziedziczenie Java?
  5. Przeciążenie w Javie
  6. Przeciążenie Pythona
  7. Kompletny przewodnik po dziedziczeniu w języku Python
  8. Typy i obsługa błędów w JavaScript
  9. Zalety wiązania statycznego i dynamicznego