Johdanto Java-ylikuormitukseen

Java on oliokeskeinen ohjelmointikieli ja se noudattaa OOP: n peruskäsitteitä. Ylikuormitus on yksi tärkeimmistä Java-käsitteistä. Ylikuormitus sallii eri menetelmien, joilla on sama nimi luokassa, mutta eri allekirjoituksilla. Allekirjoitus sisältää parametrien lukumäärän, parametrien tietotyypin ja menetelmässä ohitetun parametrijärjestyksen. Java, menetelmä ja rakentajat, voivat molemmat ylikuormittua. Menetelmien ylikuormitus tapahtuu käännöshetkellä, ja siksi se tunnetaan käännösajan polymorfismissa. Menetelmien ylikuormitus luokassa tehdään ohjelmien luettavuuden parantamiseksi, jotta ohjelmoija voi kirjoittaa minkä tahansa menetelmän tehostetun toteutuksen erilaisille skenaarioille.

Mieti tilannetta, jossa ohjelmoija haluaa selvittää erilaisten geometristen kuvioiden, kuten kuution, sylinterin ja suorakulmaisen prisman, tilavuuden. Koska kolmella heistä on erilainen kaava tilavuuden löytämiseksi ja niillä on erilainen lukumäärä parametreja. Kuution tilavuus tarvitsee vain yhden parametrin, sylinteri vie kaksi ja suorakulmainen prisma ottaa kolme parametria. Mutta päätarkoitus on löytää vain lukumäärä. Joten voimme luoda erilliset tilavuusmenetelmät eri hahmoille, mutta samalla nimellä. Tällä tavoin menetelmän ylikuormitusta käytetään käytännön skenaarioissa.

Kuinka ylikuormitus toimii Java-sovelluksessa?

Menetelmän ylikuormituksen toiminta selitetään esimerkillä:

Koodi:

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

lähtö:

Yllä olevan koodin selitys: Yllä olevassa esimerkissä on löydettävä kolmen geometrisen luvun tilavuus, joten olemme luoneet 3 erillistä ylikuormitettua menetelmää, joilla on sama nimi kuin 'tilavuus', mutta kaikilla menetelmillä on eri argumenttiluvut. Joten päämenetelmässä, kun yksi volyymi (10) suoritetaan, kutsutaan tilavuusmenetelmää, jolla on yksi parametri, ts. Int tilavuus (int puoli). Samoin muille tilavuusmenetelmille kutsutaan ja käsitellään argumenttien määrän perusteella erilaisia ​​menetelmiä.

Tässä esimerkissä menetelmät ovat ylikuormitetut argumenttien lukumäärän perusteella, mutta niitä voidaan myös ylikuormittaa parametrien tietotyypin ja parametrisekvenssin perusteella, ja siksi niitä kutsutaan vain tämän perusteella.

Java-ylikuormitustyypit

Java-menetelmän ylikuormitusta varten on periaatteessa 3 tapaa:

1. Parametrien lukumäärä

Java-menetelmät voivat olla ylikuormitetut menetelmällä kuluneiden parametrien lukumäärän perusteella. Esimerkiksi, jos tilavuuden yhdellä menetelmällä on 2 parametria ja toisella menetelmällä 3 parametria, niin se kuuluu Ylikuormitus parametrien määrän perusteella.

Koodi:

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

lähtö:

2. Parametrien tietotyyppi

Menetelmässä kuljettujen parametrien tietotyyppi on tärkeä, joten menetelmiä voidaan pitää ylikuormittuna, jos 2: lla tai menetelmillä on sama nimi, jolla on sama tai erilainen argumentti, mutta parametreillä on eri tietotyypit eri menetelmissä.

Koodi:

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

lähtö:

3. Parametrien sekvenssi

Menetelmä Ylikuormitus voidaan tehdä myös muuttamalla kahden tai useamman ylikuormitetun menetelmän parametrien järjestystä. Esimerkiksi, jos yhden menetelmän parametrit ovat (merkkijono x, merkkijono) ja toisen menetelmän (merkkijono x, merkkijono y), mutta molemmilla on sama nimi, niin kahden edellä mainitun menetelmän katsotaan olevan ylikuormittunut eri sekvenssillä parametreja.

Koodi:

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

lähtö:

Yllä olevan koodin selitys: Yllä olevassa esimerkissä molemmat 'yksityiskohtien' menetelmät ovat ylikuormitetut parametrien sekvenssin perusteella. Kun lauseketta emp.details ('Rajesh', 'A') kutsutaan, kutsutaan ja prosessoidaan menetelmä, jolla argumentit ovat järjestyksessä (String, char), ts. Tyhjät yksityiskohdat (String name, char rank).

Java-ylikuormitussäännöt

Seuraavassa on muistettava Java-ylikuormituksen säännöt:

  • Menetelmän ylikuormituksen ensimmäinen ja tärkein sääntö on, että menetelmillä on oltava sama nimi yhdessä luokassa.
  • Kaksi tai useampia luokan menetelmiä voidaan ylikuormittaa erilaisten allekirjoitusten perusteella ja allekirjoitus sisältää parametrien lukumäärän, parametrien tietotyypit, parametrien sekvenssin, kuten edellä selitettiin.
  • Menetelmän palautustyyppi ei ole osa allekirjoitusta, joten ylikuormitusta ei voida koskaan tehdä palautustyypin perusteella, ja jos se tehdään, tämä luo käännösaikavirheen.

johtopäätös

Ylikuormitus on yksi tärkeitä käsitteitä Javassa, ja se voidaan tehdä sekä menetelmille että rakentajille. On joitain ylikuormitussääntöjä, jotka tulisi pitää mielessä ennen niiden käyttöönottoa ohjelmoinnissa.

Suositellut artikkelit

Tämä on opas Java-ylikuormitukseen. Tässä keskustellaan joistakin tietyistä ylikuormitussäännöistä, joita tulisi harkita ennen tärkeiden Java-käsitteiden, menetelmien ja rakentajien käyttöönottoa. Voit myös käydä läpi muiden aiheeseen liittyvien artikkeleidemme saadaksesi lisätietoja -

  1. Ylikuormitus C ++: ssa
  2. Java-asennustyökalut
  3. Perintö Java
  4. Ylikuormitus PHP: ssä
  5. Polymorfismi Java
  6. Perintö PHP: llä