Sissejuhatus Java ülekoormamisse

Java on objektorienteeritud programmeerimiskeel ja see järgib põhilisi OOP-ideid. Ülekoormamine on Java olulised mõisted. Ülekoormamine võimaldab erinevatel meetoditel, millel on klassis sama nimi, kuid millel on erinevad allkirjad. Allkiri sisaldab parameetrite arvu, parameetrite andmetüüpi ja meetodis läbitud parameetrite jada. Java, meetod ja konstruktorid võivad mõlemad üle koormatud olla. Meetodite ülekoormamine toimub kompileerimise ajal ja seetõttu on kompileerimise aja polümorfismi korral teada. Meetodite ülekoormus klassis toimub programmide loetavuse suurendamiseks, nii et programmeerija saaks kirjutada mis tahes meetodi täiustatud juurutamise erinevate stsenaariumide jaoks.

Mõelge stsenaariumile, kus programmeerija soovib teada saada erinevate geomeetriliste kujundite mahtu, näiteks kuubi, silindri ja ristkülikukujulise prisma. Kuna kolmel neist on mahu leidmiseks erinev valem ja neil on erinev arv parameetreid. Kuubi maht vajab ainult ühte parameetrit, silinder võtab kaks ja ristkülikukujuline prisma võtab kolm parameetrit. Kuid peamine eesmärk on leida ainult arvude maht. Nii saame luua erinevate figuuride jaoks eraldi, kuid sama nimega helitugevuse meetodid. Sel moel kasutatakse meetodi ülekoormamist praktilistes stsenaariumides.

Kuidas töötab Java ülekoormamine?

Meetodi ülekoormamise toimimist selgitatakse näitega:

Kood:

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));
) )

Väljund:

Ülaltoodud koodi seletus: Ülaltoodud näites peame leidma 3 geomeetrilise kujundi mahu, nii et oleme loonud 3 eraldi ülekoormatud meetodit, mis kannavad sama nimega “maht”, kuid kõigil meetoditel on erinev arv argumente. Nii et põhimeetodi korral, kui üks maht (10) käivitatakse, nimetatakse mahu meetodit, millel on üks parameeter, st int maht (int pool). Sarnaselt muude helitugevuse meetoditega kutsutakse ja töödeldakse argumentide arvu põhjal erinevaid meetodeid.

Selles näites on meetodid üle koormatud argumentide arvu alusel, kuid neid saab ka üle koormata parameetrite andmetüübi ja parameetrite jada alusel ning seega kasutada neid ainult vastavalt sellele.

Java ülekoormamise tüübid

Java-meetodi ülekoormamiseks on põhimõtteliselt 3 viisi:

1. Parameetrite arv

Java-meetodeid saab meetodis läbitud parameetrite arvuga üle koormata. Näiteks kui mahu 1 meetodil on 2 parameetrit ja teisel meetodil 3 parameetrit, siis kuulub see parameetrite arvu põhjal ülekoormamise alla.

Kood:

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));
)
)

Väljund:

2. Parameetrite andmetüüp

Meetodis läbitud parameetrite andmetüüp on väga oluline ja seetõttu võib meetodeid pidada ülekoormatuks, kui 2 meetodit või sama meetodit omavad sama nime, millel on sama või erinev arv argumente, kuid erinevates meetodites on parameetrite andmetüübid erinevad.

Kood:

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));
)
)

Väljund:

3. Parameetrite jada

Meetodi ülekoormamist saab teha ka 2 või enama ülekoormatud meetodi parameetrite jada muutmisega. Näiteks kui 1 meetodi parameetrid on (string x, char y) ja teine ​​meetod on (char x, string y), kuid mõlemal on sama nimi, siis peetakse ülaltoodud 2 meetodit ülekoormatuks erineva parameetrid.

Kood:

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))
)
)

Väljund:

Ülaltoodud koodi selgitus: ülaltoodud näites on mõlemad 'üksikasjade' meetodid parameetrite jada alusel üle koormatud. Kui nimetatakse lauset emp.details ('Rajesh', 'A'), kutsutakse ja töödeldakse meetodit, mille argumendid on järjekorras (String, char), st kutsutakse kehtetuks tühised üksikasjad (String name, char rank).

Java ülekoormamise reeglid

Allpool on toodud reeglid, mida java ülekoormamisel tuleks meeles pidada:

  • Meetodi ülekoormamise esimene ja peamine reegel on see, et meetoditel peab ühes klassis olema sama nimi.
  • Klassi kahte või enamat meetodit saab erinevate allkirjade alusel üle koormata ning allkiri sisaldab parameetrite arvu, parameetrite andmetüüpe ja parameetrite jada, nagu eespool selgitatud.
  • Meetodi tagastamise tüüp ei ole allkirja osa, nii et ülelaadimist ei saa kunagi teha tagastamise tüübi alusel ja kui see on tehtud, loob see kompileerimise aja vea.

Järeldus

Ülekoormamine on Java üks olulisi mõisteid ja seda saab teha nii meetodite kui ka konstruktorite jaoks. On olemas mõned ülekoormamise reeglid, mida tuleks enne programmeerimisel rakendamist meeles pidada.

Soovitatavad artiklid

See on juhend Java ülekoormamiseks. Siin käsitleme mõnda kindlat ülekoormamise reeglit, mida tuleks kaaluda enne Java-s oluliste kontseptsioonide, meetodite ja konstruktorite rakendamist. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. C ++ ülekoormus
  2. Java juurutustööriistad
  3. Pärimine Java-s
  4. Ülekoormamine PHP-s
  5. Polümorfism Java-s
  6. Pärand PHP-s

Kategooria: