Uvod u polimorfizam na Javi
Polimorfizam se definira kao pojam u kojem se uz pomoć jedne akcije može izvesti na brojne načine. Riječ je nastala iz dvije grčke riječi, koje su poli kao i morfemi. Ovdje, kao što možda znate, "poli" podrazumijeva mnoge, a "morfi" podrazumijeva mnogo oblika. Stoga bi riječ polimorfizam podrazumijevala mnoge oblike. Doznajmo sada detaljnije polimorfizam u Javi.
Kako djeluje polimorfizam na Javi?
Polimorfizam je OOO programska karakteristika. Kad god ga koristimo, klasa ima mogućnost ispoljavanja mnogih funkcionalnosti čak i ako imaju zajedničko sučelje. Stoga možemo pretpostaviti da dugačka riječ zapravo govori o vrlo jednostavnom konceptu.
Ono što valja napomenuti o polimorfizmu je da cjelokupni radni kôd koji postoji u brojnim klasama zapravo ne treba razumjeti klasu koja se navikne na isti način korištenja.
Pretpostavimo primjer polimorfizma u stvarnom svijetu. Pretpostavimo gumb. Svi znate da ako primijenimo malo pritiska, moći ćete pritisnuti tipku, ali nećemo znati izlaz pritiska na gumb i svrhu uporabe. Dakle, ukažite na to da ovdje treba voditi računa, da u bilo kojem slučaju rezultat neće utjecati na postupak koji se koristi.
Stoga je osnovni cilj polimorfizma učiniti predmete koji su zamjenjivi ovisno o potrebama.
Vrste polimorfizma na Javi
Dvije vrste polimorfizma su polimorfizam u zbrajanju i vođenje vremenskog polimorfizma. Kompilarni vremenski polimorfizam izvodi se preopterećenjem metode, a polimorfizam vremena izvođenja metodom preglasavanja.
Polimorfizam runtime-a, nazvan i kao otprema dinamičke metode, proces je u kojem se poziv za poništenu metodu rješava u vrijeme izvođenja, unatoč vremenu prevođenja. Ovdje se prepisana metoda poziva putem referentne varijable nadređene klase. Također, polimorfizam vremena izvođenja ne može postići član podataka.
Važnost polimorfizma u Javi
Ako odbacimo dinamički polimorfizam, kao i statički polimorfizam, u programiranju postoje neke od programskih karakteristika Jave koje ispoljavaju polimorfizam koji nije ove dvije važne vrste.
To su ovi - prisila, preopterećenje operatora i polimorfni parametri.
prisila
Pokušajmo kroz ovaj primjer dobiti smisao prisile. Pretpostavimo da postoji vrijednost niza koja je jednaka vrijednosti: Pretpostavimo drugi broj koji je dobio vrijednost 2. Što bi se dogodilo kad sažmete ovu vrijednost niza zajedno s ovim brojem? Ishod koji bi dobili iz te povezanosti bio bi "ko-vrijednost: 2". To je poznato kao prisila. Ovo je pretvorba implicitnog tipa koja se izvodi u cilju sprječavanja pogrešaka.
Preopterećenje operatora
Počnimo s konceptom preopterećenja operatera, dopustite mi da pogledam jedan scenarij. Pretpostavimo da postoji niz koji je dobio vrijednost "Operiraj" i drugi koji ima vrijednost kao "Overload". Tada bismo upotrijebili simbol plus (+) na isti način zbrajanje 2 broja. Ovo (+) bi bilo objedinjavajuće. Ako uzmemo u obzir dva cjelobrojna broja, tada bi se dodavanje ova dva broja vratilo. Kad god jedan simbol ili operator ima mogućnost promjene interpretacije uzimajući u obzir postupak koji se koristi, vrsta polimorfizma koji se provodi poznat je pod nazivom Operator Overloading.
Polimorfni parametri
To znači omogućiti pristup bilo kojem objektu na bilo koji od sljedećih načina koji su navedeni kao -
- Upotreba referentne varijable koja pripada bilo kojoj roditeljskoj klasi.
- Upotreba referentne varijable koja pripada klasi tamo gdje postoji.
Polimorfizam opseg
Vezivanje znači povezivanje poziva metode s tijelom metode. Postoje dvije vrste vezivanja:
- Prva je statička veza, što znači kad god je određena vrsta objekta tijekom vremena sastavljanja.
- Drugo je dinamičko vezivanje što znači kad god je određena vrsta objekta za vrijeme izvođenja.
Jedini razlog zašto je potreban polimorfizam leži u tome što je njegov koncept izuzetno potreban za primjenu nasljeđivanja. Pored toga, ona igra vrlo vitalnu ulogu koja omogućuje objektima da naslijede brojne strukture u dijeljenju sučelja. Polimorfizam je jasno spomenut kao samo jedan koji je preslikan za mnoge.
Primjeri polimorfizma u Javi
Ispod su sljedeći primjeri polimorfizma na Javi:
Primjer br. 1 - Java program za prikaz metoda preopterećenja
Kodirati:
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));
)
)
Izlaz:
Primjer br. 2 - Java program za prikaz preopterećenja operatora
Kodirati:
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");
)
)
Izlaz:
Primjer # 3 - Java program za preopterećenje metoda
Kodirati:
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));
)
)
Izlaz:
Zaključak
Jedini razlog zašto je potreban polimorfizam leži u tome što je njegov koncept izuzetno potreban u provođenju nasljeđivanja. Pored toga, ona igra vrlo vitalnu ulogu koja omogućuje objektima da naslijede brojne strukture u dijeljenju sučelja. Polimorfizam je jasno spomenut kao samo jedan koji je preslikan za mnoge.
Preporučeni članci
Ovo je vodič za polimorfizam na Javi. Ovdje smo raspravljali o radu polimorfizma u Javi s njezinim vrstama i važnosti zajedno s različitim primjerima i implementacijom koda. Možete pogledati i sljedeće članke da biste saznali više -
- Polimorfizam u C #
- JTextField u Javi
- Preopterećenje i preglasavanje u C ++
- Što je nasljeđivanje Java?
- Preopterećenje u Javi
- Python preopterećenje
- Kompletan vodič za nasljeđivanje Pythona
- Vrste i rukovanje pogreškama u JavaScript-u
- Prednosti statičkog i dinamičkog vezanja