Úvod do polymorfismu v Javě
Polymorfismus je definován jako koncept, ve kterém lze spolu s pomocí jedné akce provést řadu způsobů. Slovo pocházelo z 2 řeckých slov, která jsou poly i morfová. Tady, jak možná víte, „poly“ znamená mnoho, stejně jako „morfy“ znamená mnoho forem. Slovo polymorfismus by tedy obsahovalo mnoho forem. Podívejme se nyní podrobně na polymorfismus java.
Jak funguje polymorfismus v Javě?
Polymorfismus je programová charakteristika OOO. Kdykoli ji použijeme, třída má schopnost vykazovat mnoho funkcí, i když vykazují společné rozhraní. Můžeme tedy předpokládat, že dlouhé slovo ve skutečnosti říká velmi jednoduchý koncept.
Věc, která stojí za zmínku o polymorfismu, spočívá v tom, že celý pracovní kód, který existuje v mnoha třídách, nemusí opravdu rozumět třídě, která ji používá stejným způsobem použití, je stejný.
Předpokládejme příklad polymorfismu v reálném světě. Předpokládejme tlačítko. Všichni víte, že pokud použijeme trochu tlaku, budete moci stisknout tlačítko, ale nebudeme znát výstup vyvíjení tlaku na tlačítko a účel použití. Upozorňujeme, že zde je třeba se postarat o to, že výsledek nijak neovlivní použitý postup.
Základním cílem polymorfismu je tedy vytvořit objekty, které jsou zaměnitelné v závislosti na potřebách.
Druhy polymorfismu v Javě
Dva typy polymorfismu jsou polymorfismus kompilace a polymorfismus za běhu. Polymorfismus kompilace je prováděn přetížením metody a runtime polymorfismem přepsáním metody.
Runtime polymorfismus, nazývaný také jako Dynamic Method Dispatch, je proces, ve kterém je volání na přepsanou metodu vyřešeno za běhu i přes kompilaci. Přepsaná metoda je zde volána prostřednictvím referenční proměnné nadřazené třídy. Runtime polymorfismus nelze dosáhnout ani datovými členy.
Význam polymorfismu v Javě
Pokud odstraníme dynamický polymorfismus i statický polymorfismus, v programování existují některé programovací vlastnosti Java, které vykazují polymorfismus, který je jiný než tyto dva důležité typy.
Jsou to tyto nátlaky, přetížení operátorů a polymorfní parametry.
Donucování
Zkusme pomocí tohoto příkladu získat význam nátlaku. Předpokládejme, že existuje hodnota řetězce, která má být co value: Předpokládejme druhé číslo, které má hodnotu 2. Nyní, co by se stalo, kdybyste tuto hodnotu řetězce concat společně s tímto číslem? Výsledek, že se z této zřetězení dostaneme, bude „co value: 2“. Toto je známé jako nátlak. Toto je převod typu implicitní, který se provádí v pořadí, jak předcházet chybám.
Přetížení operátora
Když začneme s konceptem přetížení obsluhy, dovolte mi, abych se podíval na jeden scénář. Předpokládejme, že existuje řetězec, který má hodnotu „Operovat“, a druhý, který má hodnotu „Přetížení“. Pak bychom použili znaménko plus (+) stejným způsobem jako přidání 2 čísel. Toto (+) by bylo zřetězení. Pokud vezmeme v úvahu dvě celá čísla, bude přidání těchto dvou čísel vráceno. Kdykoli má jeden symbol nebo operátor schopnost změnit interpretaci s ohledem na použitou proceduru, je typ polymorfismu, který je hotový, známý jako přetížení operátora.
Polymorfní parametry
Znamená to povolení přístupu k jakémukoli z níže uvedených způsobů uvedených pod -
- Použití referenční proměnné, která patří do jedné z nadřazených tříd.
- Použití referenční proměnné, která patří do třídy, kde existuje.
Rozsah polymorfismu
Vazba znamená připojení volání metody k tělu metody. Existují dva druhy vazby:
- 1. je statická vazba, což znamená, kdykoli byl typ objektu určen během kompilace.
- 2. je dynamická vazba, což znamená kdykoli byl typ objektu určen během běhu.
Jediný důvod, proč je vyžadován polymorfismus, spočívá v jeho koncepci, která je nesmírně potřebná při provádění dědičnosti. Kromě toho hraje velmi důležitou roli, protože umožňuje objektům zdědit řadu struktur ve sdílení rozhraní. Polymorfismus byl jasně uveden jako jediný, který je mapován pro mnohé.
Příklady polymorfismu v Javě
Níže jsou uvedeny různé příklady polymorfismu v Javě:
Příklad č. 1 - program Java, který předvede přetížení metody
Kód:
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));
)
)
Výstup:
Příklad č. 2 - Program Java představující přetížení operátora
Kód:
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");
)
)
Výstup:
Příklad č. 3 - Program Java pro přetížení metody
Kód:
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));
)
)
Výstup:
Závěr
Jediný důvod, proč je vyžadován polymorfismus, spočívá v tom, že jeho koncepce je nesmírně potřebná při provádění dědičnosti. Kromě toho hraje velmi důležitou roli, protože umožňuje objektům zdědit řadu struktur ve sdílení rozhraní. Polymorfismus byl jasně uveden jako jediný, který je mapován pro mnohé.
Doporučené články
Toto je průvodce po polymorfismu v Javě. Zde diskutujeme práci polymorfismu v Javě s jejími typy a významem spolu s různými příklady a implementací kódu. Další informace naleznete také v následujících článcích -
- Polymorfismus v C #
- JTextField v Javě
- Přetížení a přemostění v C ++
- Co je dědičnost Java?
- Přetížení v Javě
- Přetížení Pythonu
- Kompletní průvodce dědictvím v Pythonu
- Typy a manipulace s chybami v JavaScriptu
- Výhody statického vázání a dynamického vázání