Supraîncărcarea metodei în Java [cu exemple]
Publicat: 2020-11-12Java este un limbaj versatil care urmează conceptele de programare orientată pe obiecte. Multe caracteristici ale programării orientate pe obiecte fac codul modular, reutilizabil, flexibil și ușor de depanat. Există multe caracteristici ale programării orientate pe obiecte, cum ar fi moștenirea, polimorfismul, încapsularea și abstracția.
În acest articol, vom discuta despre supraîncărcarea metodei în Java , care este tipul de polimorfism.
Cuprins
Polimorfismul
Polimorfismul înseamnă capacitatea de a apărea sub diferite forme. Permite aceleiași metode să arate comportamente diferite folosind metode diferite. Există două tipuri de polimorfism: supraîncărcarea metodei și suprasolicitarea metodei. Supraîncărcarea metodelor înseamnă că mai multe metode au același nume, dar argumente diferite.
Învață să construiești aplicații precum Swiggy, Quora, IMDB și multe alteleSuprascrierea metodei înseamnă că clasa copil poate avea o metodă cu același nume ca și clasa părinte, dar cu o implementare diferită. Vom discuta mai detaliat despre supraîncărcarea metodei în acest articol. Pentru Suprascrierea metodei, puteți vizita upGrad și obțineți informații.
Supraîncărcarea metodei în Java
Supraîncărcarea metodelor în Java este una dintre cele mai utile caracteristici ale unui limbaj orientat pe obiecte. Permite unei clase să aibă mai multe metode cu același nume. Singura diferență pe care o au aceste metode este lista diferită de parametri care trec prin aceste metode.
Poate fi înțeles în termeni simpli cu un exemplu simplu. O adăugare de clasă are două metode numite add(), o metodă are parametrii int a și int b, în timp ce cealaltă are trei parametri întregi, adică int a, int b și int c. Prin urmare, se spune că metoda add() este supraîncărcată.

Metoda care va fi executată va depinde de numărul de parametri trecuți în instrucțiunea de apelare a metodei. Pentru a ilustra, add(20,30) va apela metoda add() având doi parametri, iar add(10,20,30) va apela metoda add cu trei parametri.
Diferite moduri de a supraîncărca o metodă
Supraîncărcarea metodelor în Java poate fi realizată în diferite moduri. După cum am înțeles că este lista de parametri care diferențiază cele două metode cu același nume în Java. Diferitele moduri de supraîncărcare a metodei în Java pot fi realizate prin modificarea listei de parametri într-unul dintre modurile de mai jos:
- Numărul de parametri
- Tipul de date al parametrilor
- Secvența parametrilor tip de date
Numărul de parametri
După cum reiese clar din nume că va exista un număr diferit de parametri în metodele supraîncărcate care vor decide ce metodă să fie executată, văzând instrucțiunea de apelare a metodei. Mai jos este supraîncărcarea metodei în Java , unde numărul de parametri variază.
Metoda 1: adăugați (int, int)
Metoda 2: adăugați (int, int, int)
Instrucțiunea de apelare a metodei add(20,30) va executa metoda 1 și instrucțiunea de apelare a metodei add(10,20,30) va executa metoda 2.
Tipul de date al parametrilor
În acest tip de supraîncărcare a metodelor în Java , cele două metode java ale unei clase au același nume, iar numărul de parametri poate fi același sau diferit, dar tipul de date al parametrilor va diferi.
Metoda 1: adăugați (int, int)
Metoda 2: adăugați (int, float)
Metoda 3: adăugați (float, float)
În metodele de mai sus, numele metodei este același, dar tipul de date al parametrilor este diferit. Deci, instrucțiunea de apelare a metodei add(2, 5.5) va executa metoda 2. În mod similar, add(7.5, 10.25) va executa metoda 3.
Secvența tipului de date a parametrilor
În acest tip de supraîncărcare a metodei în Java , atât numele metodei, cât și numărul de parametri sunt același, dar diferența constă în succesiunea tipurilor de date ale acestor parametri. Mai jos este un exemplu de metode supraîncărcate:
Metoda 1: adăugați (int, float)
Metoda 2: adăugați (float, int)

Aici, apelarea instrucțiunii la add(100, 75.5) va apela metoda 1 pentru a executa, iar add(55.25, 150) va executa metoda 2.
Prin urmare, parametrii din instrucțiunea de apelare sunt cei care decid ce metodă supraîncărcată va fi executată.
Citiți: Supraîncărcarea metodei în Java
De ce avem nevoie de supraîncărcarea metodelor în Java?
Dacă programatorul a creat o metodă în Java pentru a efectua o acțiune, dar mai târziu, ca parte a cerinței, programatorul dorește ca aceeași metodă să acționeze asupra diferiților parametri, atunci codificatorul poate utiliza pur și simplu caracteristica de supraîncărcare a metodei în Java . Acest lucru va permite programatorului să creeze metode de efectuare a funcțiilor similare cu același nume, astfel încât să nu fie nevoiți să-și amintească numele mai târziu.
Să știm despre avantajele efectuării supraîncărcării metodelor în Java.
Avantajele efectuării supraîncărcării metodei în Java
Mai jos sunt câteva dintre avantajele supraîncărcării metodei în Java :
- Îmbunătățește lizibilitatea codului scris.
- Adaugă curățenie codului scris.
- Poate fi folosit și pe constructori, astfel încât să putem crea diferite obiecte prin transmiterea de date diferite.
- Le oferă programatorilor flexibilitatea de a apela diferite metode cu nume similare.
- Metodele supraîncărcate pot avea diferite tipuri de returnare.
Trebuie citit: Carieră în Java
Reguli pentru supraîncărcarea metodelor în Java
- Prima regulă este schimbarea semnăturii metodei. Semnătura metodei se referă la numărul de argumente, secvența parametrilor și tipul de date al parametrilor.
- Dacă schimbăm doar tipul de returnare al metodei păstrând numele metodei și argumentele aceleași, atunci aceasta nu va fi supraîncărcarea metodei, ci va da naștere unei erori de compilare.
Puncte importante despre supraîncărcarea metodelor în Java
- Orice cod scris în Java nu poate avea metode cu același nume. Dacă creăm 2 metode cu același nume în Java, va genera o eroare de compilare.
- Acest lucru poate fi realizat prin supraîncărcarea metodei. Supraîncărcarea metodelor permite programatorilor să scrie două sau mai mult de două metode cu același nume, dar liste de parametri diferiți.
- Supraîncărcarea metodei în Java este similară cu supraîncărcarea constructorului. Singura diferență este că supraîncărcarea metodelor are loc pentru metodele definite în clasă, în timp ce supraîncărcarea constructorului este pentru metodele constructoare ale clasei.
- În supraîncărcarea metodelor în Java, metodele supraîncărcate au o listă diferită de parametri. Nu are nimic de-a face cu tipul de returnare al metodei. Ca exemplu; dacă două metode au același nume și aceeași listă de parametri, dar tipuri diferite de returnare, atunci aceasta nu este o supraîncărcare a metodei în Java , ci este un caz nevalid.
Metoda 1 : int Adaugă (float, float)
Metoda 2 : float Add (float, float)
Acesta este cazul nevalid de supraîncărcare a metodei, deoarece ambele metode Add() au același nume și aceeași listă de parametri.
Mai jos este codul care explică supraîncărcarea metodei în Java:
Suma clasei{
private int a;
private int b;
private int c;
privat int d;
int public add(int a, int b){
int c;
c=a+b;
întoarcere c;
}
int public add(int a, float b){
int c;
c=a+b;
întoarcere c;
}
int public add(float a, float b){
int c;
c=a+b;
întoarcere c;
}
int public add(float a, int b, int c){
int d;
d=a+b+c;
întoarce d;
}
}
Public static void main (String[]args)
{
// Crearea obiectului clasei în metoda main
sum obj1 = sumă nouă();
sum1=obj1.add(10,20);
sum2=obj1.add(10,55.5);
sum3=obj1.add(110,5,25,5);

sum4=obj1.add(10,20,30);
}
Citiți și: Programe de modele în Java
Concluzie
În acest articol, supraîncărcarea metodei în Java a fost discutată în detaliu, explicând tipurile, regulile și avantajele acesteia. Tema a fost explicată în profunzime cu ajutorul exemplelor. Spuneți-ne în comentarii dacă aveți vreo îndoială cu privire la supraîncărcarea în Java.
Dacă sunteți interesat să aflați mai multe despre Java, dezvoltarea de software full-stack, consultați UpGrad & IIIT-B's PG Diploma in Full-stack Software Development, care este concepută pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte , și misiuni, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.