Uvod u preopterećenje u Javi

Java je objektno orijentirani programski jezik i slijedi osnovne OOP koncepte. Preopterećenje je jedan od važnih koncepata na Javi. Preopterećenje omogućuje različitim metodama koje imaju isti naziv u klasi, ali s različitim potpisima. Potpis uključuje broj parametara, vrstu podataka parametara i slijed parametara prenesenih u metodi. U Javi, metoda i konstruktori, i jedno i drugo mogu biti preopterećeni. Preopterećenje metoda vrši se u vrijeme kompilacije i otuda je poznato u polimorfizmu u vremenu kompilacije. Preopterećenje metoda u razredu vrši se kako bi se povećala čitljivost programa tako da programer može napisati pojačanu implementaciju bilo koje metode za različite scenarije.

Razmislite o scenariju u kojem programer želi otkriti volumen različitih geometrijskih figura poput kocke, cilindra i pravokutne prizme. Kako njih troje imaju različitu formulu za pronalaženje volumena i imaju različit broj parametara. Zapremina kocke trebat će samo jedan parametar, cilindar će uzeti dva, a pravokutna prizma će uzeti tri parametra. Ali glavna je svrha pronaći samo količinu podataka. Tako možemo stvoriti odvojene metode volumena za različite figure, ali s istim nazivom. Na taj se način metoda praktičnog preopterećenja koristi u praktičnim scenarijima.

Kako preopterećenje djeluje na Javi?

Rad preopterećenja metoda objašnjava se primjerom:

Kodirati:

class Main(
int volume(int side)
(
return side * side * side;
)
int volume(int length, int breadth, int height)
(
return length*breadth*height;
)
double volume(int radius, int height)
( return 3.14 * (radius * radius)* height / 3;
)
public static void main(String() args)
(
Main oe = new Main();
System.out.println("Volume of Cube " +oe.volume(10));
System.out.println("Volume of Rectangular prism " +oe.volume(10, 12, 30));
System.out.println("Volume of Cone "+oe.volume(5, 10));
) )

Izlaz:

Objašnjenje gornjeg koda: U gornjem primjeru trebamo pronaći volumen 3 geometrijske figure, tako da smo stvorili 3 odvojene preopterećene metode s istim nazivom kao 'volumen', ali sve metode imaju različit broj argumenata. Dakle, u glavnoj metodi, kada se pokreće one.volume (10), tada se naziva metoda volumena koja ima jedan parametar, tj. Int volumen (int strana). Slično se odnosi i na ostale opsežne metode, na osnovu broja argumenata, različite metode se pozivaju i obrađuju.

U ovom su primjeru metode preopterećene na temelju broja argumenata, ali također se mogu preopteretiti na temelju vrste podataka parametara i slijeda parametara te se stoga pozivaju samo u skladu s tim.

Vrste preopterećenja u Javi

U Javi postoje 3 načina preopterećenja metoda:

1. Broj parametara

Java metode mogu se preopteretiti brojem parametara prenesenih u metodi. Na primjer, ako 1 metoda volumena ima 2 parametra, a druga metoda ima 3 parametra, tada dolazi pod Preopterećenje na temelju broja parametara.

Kodirati:

class Multiplication
(
int mult(int a, int b) // method mult having 2 parameters
(
return a*b;
)
//Method Overloading on number of parameters
int mult(int a, int b, int c) // method mult having 3 parameters
(
return a*b*c;
)
)
class Main
(
public static void main(String() args)
(
Multiplication M = new Multiplication();
System.out.println(M.mult(10, 9));
System.out.println(M.mult(10, 9, 8));
)
)

Izlaz:

2. Vrsta podataka parametara

Vrsta podataka parametara prenesenih u metodi je jako važna i stoga se metode mogu smatrati preopterećenima ako 2 ili metode imaju isto ime s istim ili različitim brojem argumenata, ali različite vrste podataka parametara u različitim metodama.

Kodirati:

class Multiplication
(
int mult(int a, int b) // method mult having 2 parameters
(
return a*b;
)
//Method Overloading on datatype of parameters
double mult(double a, double b) // method mult overloaded
(
return a*b;
)
)
class Main
(
public static void main(String() args)
(
Multiplication M = new Multiplication();
System.out.println(M.mult(10, 9));
System.out.println(M.mult(10.5, 9.8));
)
)

Izlaz:

3. Slijed parametara

Metoda Preopterećenje se također može obaviti promjenom niza parametara 2 ili više preopterećenih metoda. Na primjer, ako su parametri 1 metode (String x, char y), a druga metoda je (char x, String y), ali obje imaju isti naziv, onda se smatra da su gornje 2 metode preopterećene različitim redoslijedom parametri.

Kodirati:

class Employee
(
void details(String name, char rank) // method details having 2 parameters
(
System.out.println("Employee name is "+name);
System.out.println("Employee ranking is "+rank);
) //Method Overloading on sequence of parameters
void details(char rank, String name) // method details overloaded
(
System.out.println("Employee name is "+name);
System.out.println("Employee ranking is "+rank);
)
)
class Main
(
public static void main(String() args)
( Employee emp = new Employee();
emp.details("Rajesh", 'A'); // calls the first method (details(String, char))
emp.details("Ram", 'B'); // calls the second method (details(char, String))
)
)

Izlaz:

Objašnjenje gornjeg koda: U gornjem primjeru obje su metode 'detalji' preopterećene na temelju niza ako su parametri. Kad se izgovor emp.details ('Rajesh', 'A') nazove, metoda koja sadrži argumente u redoslijedu (string, char), tj. Nevažeći detalji (ime niza, char rank) se poziva i obrađuje.

Pravila za preopterećenje u Javi

Ispod su pravila koja se trebaju imati na umu kod preopterećenja Java:

  • Prvo i najvažnije pravilo preopterećenja metode je da metode moraju imati isti naziv u jednoj klasi.
  • Dvije ili više metoda u klasi mogu se preopteretiti na temelju različitih potpisa, a potpis uključuje broj parametara, vrste podataka parametara, slijed parametara kao što je gore objašnjeno.
  • Vrsta povratne metode nije dio potpisa, tako da se preopterećenje nikada ne može izvršiti na temelju vrste povratka, a ako je učinjeno, to stvara grešku u vremenu sastavljanja.

Zaključak

Preopterećenje je jedan od važnih koncepata u Javi i može se izvesti i za metode i za konstruktore. Postoje neka pravila preopterećenja koja bi trebalo imati na umu prije nego što ih primijenite u programiranju.

Preporučeni članci

Ovo je vodič za preopterećenje na Javi. Ovdje smo raspravljali o nekim određenim pravilima za preopterećenje koje bi trebalo uzeti u obzir prije implementacije važnih koncepata u Javi, metoda i konstruktora. Možete i pregledati naše druge povezane članke da biste saznali više -

  1. Preopterećenje u C ++
  2. Alati za implementaciju Java
  3. Nasljeđivanje u Javi
  4. Preopterećenje u PHP-u
  5. Polimorfizam u Javi
  6. Nasljeđivanje u PHP-u

Kategorija: