Úvod do polymorfizmu v Jave
Polymorfizmus je definovaný ako pojem, v ktorom je možné spolu s pomocou jedného úkonu uskutočniť množstvo spôsobov. Slovo pochádza z 2 gréckych slov, ktoré sú poly a morfované. Ako možno viete, „poly“ znamená veľa, ako aj „morfy“ znamená veľa foriem. Slovo polymorfizmus by preto obsahovalo veľa foriem. Pochopme teraz podrobne polymorfizmus v jave.
Ako funguje polymorfizmus v Jave?
Polymorfizmus je programová charakteristika OOO. Kedykoľvek ju použijeme, trieda má schopnosť vykazovať veľa funkcií, aj keď vykazujú spoločné rozhranie. Preto môžeme predpokladať, že dlhé slovo v skutočnosti hovorí veľmi jednoduchý koncept.
To, čo stojí za zmienku o polymorfizme, je to, že celý pracovný kód, ktorý existuje v mnohých triedach, nemusí skutočne rozumieť triede, ktorú používa, rovnakým spôsobom použitia, je rovnaký.
Predpokladajme príklad polymorfizmu v reálnom svete. Predpokladajme tlačidlo. Všetci viete, že ak trochu vyvíjame tlak, budete môcť stlačiť tlačidlo, ale nebudeme poznať výstup vyvíjania tlaku na tlačidlo a účel použitia. Upozorňujeme, že tu je potrebné sa postarať o to, že výsledok nebude mať vplyv na použitý postup.
Základným cieľom polymorfizmu je teda vytvoriť objekty, ktoré sú zameniteľné v závislosti od potrieb.
Druhy polymorfizmu v Jave
Dva typy polymorfizmu sú polymorfizmus kompilácie a polymorfizmus behom času. Polymorfizmus v čase kompilácie sa vykonáva preťažením metódy a polymorfizmus runtime pomocou metódy overriding.
Polymorfizmus za behu, nazývaný tiež ako dynamický dispečing metód, je proces, v ktorom je výzva na prepísanú metódu vyriešená za behu napriek kompilácii. Prepísaná metóda sa tu volá prostredníctvom referenčnej premennej nadradenej triedy. Runtime polymorfizmus sa nedá dosiahnuť ani dátovými členmi.
Význam polymorfizmu v Jave
Ak vyradíme dynamický polymorfizmus, ako aj statický polymorfizmus, v programovaní existujú niektoré z programovacích charakteristík Java, ktoré vykazujú polymorfizmus, ktorý je iný ako tieto dva dôležité typy.
Sú to tieto nátlaky, preťaženie operátorov a polymorfné parametre.
donucovania
Pokúsme sa prostredníctvom tohto príkladu získať význam nátlaku. Predpokladajme, že existuje hodnota reťazca, ktorá má byť kohodnotou: Predpokladajme, že druhé číslo, ktoré má hodnotu 2. Teraz, čo by sa stalo, keď by ste tento reťazec zahltili spolu s týmto číslom? Výsledok, ktorý sa dostaneme z tohto zreťazenia, bude „kohodnota: 2“. Toto je známe ako nátlak. Je to konverzia typu implicitného, ktorá sa vykonáva v poradí, v ktorom sa má predchádzať chybám.
Preťaženie operátora
Keď začneme s koncepciou preťaženia operátora, dovoľte mi pozrieť sa na jeden scenár. Predpokladajme, že existuje reťazec, ktorý má hodnotu „Operate“ a druhý, ktorý má hodnotu „Overload“. Potom by sme použili znamienko plus (+) rovnakým spôsobom ako pridanie 2 čísiel. Toto (+) by bolo zreťazujúce. Ak vezmeme do úvahy dve celé čísla, vrátenie týchto dvoch čísel by sa vrátilo. Kedykoľvek má jeden symbol alebo operátor schopnosť zmeniť interpretáciu vzhľadom na použitý postup, typ polymorfizmu, ktorý sa splní, sa nazýva Preťaženie operátora.
Polymorfné parametre
Znamená to povolenie prístupu k akémukoľvek objektu niektorým z týchto spôsobov, ktoré sú uvedené nižšie -
- Použitie referenčnej premennej, ktorá patrí do ktorejkoľvek z rodičovských tried.
- Použitie referenčnej premennej, ktorá patrí do triedy, ak existuje.
Rozsah polymorfizmu
Viazanie znamená pripojenie volania metódy k telu metódy. Existujú dva druhy väzby:
- 1. je statická väzba, čo znamená, že kedykoľvek bol typ objektu určený počas kompilácie.
- 2. je dynamická väzba, čo znamená, že kedykoľvek bol typ objektu určený počas behu.
Jediný dôvod, prečo sa vyžaduje polymorfizmus, spočíva v tom, že jeho koncepcia je pri realizácii dedičstva nesmierne potrebná. Okrem toho hrá veľmi dôležitú úlohu, ktorá umožňuje objektom zdediť početné štruktúry pri zdieľaní rozhrania. Polymorfizmus bol jasne uvedený ako jediný, ktorý je pre mnohých zmapovaný.
Príklady polymorfizmu v Jave
Nižšie sú uvedené rôzne príklady polymorfizmu v Jave:
Príklad č. 1 - Program Java na predvádzanie preťaženia metód
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ýkon:
Príklad č. 2 - Program Java na predvádzanie preťaženia 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ýkon:
Príklad č. 3 - Program Java pre preťaženie metód
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ýkon:
záver
Jediný dôvod, prečo sa vyžaduje polymorfizmus, spočíva v tom, že jeho koncepcia je pri implementácii dedičstva nesmierne potrebná. Okrem toho hrá veľmi dôležitú úlohu, čo umožňuje objektom zdediť početné štruktúry pri zdieľaní rozhrania. Polymorfizmus bol jasne uvedený ako jediný, ktorý je mapovaný pre mnohých.
Odporúčané články
Toto je sprievodca po polymorfizme v Jave. Tu diskutujeme prácu polymorfizmu v Jave s jej typmi a významom spolu s rôznymi príkladmi a implementáciou kódu. Ďalšie informácie nájdete aj v nasledujúcich článkoch -
- Polymorfizmus v C #
- JTextField v Jave
- Preťaženie a prekonanie v C ++
- Čo je dedičstvo Java?
- Preťaženie v Jave
- Preťaženie Pythonu
- Kompletný sprievodca dedičstvom v Pythone
- Typy a manipulácia s chybami v JavaScripte
- Výhody statického viazania a dynamického viazania