Sovraccarico del metodo in Java [con esempi]
Pubblicato: 2020-11-12Java è un linguaggio versatile che segue i concetti della programmazione orientata agli oggetti. Molte caratteristiche della programmazione orientata agli oggetti rendono il codice modulare, riutilizzabile, flessibile e di facile debug. Esistono molte caratteristiche della programmazione orientata agli oggetti, come l'ereditarietà, il polimorfismo, l'incapsulamento e l'astrazione.
In questo articolo, discuteremo dell'overloading del metodo in Java , che è il tipo di polimorfismo.
Sommario
Polimorfismo
Il polimorfismo significa la capacità di apparire in forme diverse. Consente allo stesso metodo di mostrare comportamenti diversi utilizzando metodi diversi. Esistono due tipi di polimorfismo: sovraccarico del metodo e sovrascrittura del metodo. L'overloading dei metodi significa che più metodi hanno lo stesso nome ma argomenti diversi.
Impara a creare applicazioni come Swiggy, Quora, IMDB e altroMetodo Override significa che la classe figlia può avere un metodo con lo stesso nome della classe padre ma con un'implementazione diversa. Discuteremo il sovraccarico del metodo in modo più dettagliato in questo articolo. Per il metodo Override, puoi visitare upGrad e ottenere approfondimenti.
Sovraccarico del metodo in Java
L' overloading del metodo in Java è una delle funzionalità più utili di un linguaggio orientato agli oggetti. Consente a una classe di avere più metodi con lo stesso nome. L'unica differenza che hanno questi metodi è il diverso elenco di parametri che vengono passati attraverso questi metodi.
Può essere compreso in termini semplici con un semplice esempio. Un'addizione di classe ha due metodi chiamati add(), un metodo ha parametri int a e int b, mentre l'altro ha tre parametri interi, cioè int a, int b e int c. Pertanto, si dice che il metodo add() sia sovraccarico.

Il metodo che verrà eseguito dipenderà dal numero di parametri passati nell'istruzione di chiamata del metodo. Per illustrare, add(20,30) chiamerà il metodo add() con due parametri e add(10,20,30) chiamerà il metodo add con tre parametri.
Diversi modi per sovraccaricare un metodo
L'overloading del metodo in Java può essere ottenuto in diversi modi. Come abbiamo capito è l'elenco dei parametri che differenziano i due metodi con lo stesso nome in Java. I diversi modi di sovraccarico del metodo in Java possono essere raggiunti variando l'elenco dei parametri in uno dei modi seguenti:
- Numero di parametri
- Il tipo di dati dei parametri
- La sequenza di Tipo di dati dei parametri
Il numero di parametri
Come è chiaro dal nome che ci sarà un numero diverso di parametri nei metodi sovraccaricati che decideranno quale metodo eseguire vedendo l'istruzione di chiamata del metodo. Di seguito è riportato l' overloading del metodo in Java , in cui il numero di parametri varia.
Metodo 1: add(int, int)
Metodo2: add(int, int, int)
L'istruzione di chiamata del metodo add(20,30) eseguirà il metodo1 e l'istruzione di chiamata del metodo add(10,20,30) eseguirà il metodo2.
Il tipo di dati dei parametri
In questo tipo di sovraccarico del metodo in Java , i due metodi java di una classe hanno lo stesso nome e il numero di parametri può essere uguale o diverso, ma il tipo di dati dei parametri sarà diverso.
Metodo 1: add(int, int)
Metodo 2: add(int, float)
Metodo 3: add(float, float)
Nei metodi precedenti, il nome del metodo è lo stesso, ma il tipo di dati dei parametri è diverso. Quindi, l'istruzione di chiamata del metodo add(2, 5.5) eseguirà il metodo2. Allo stesso modo, add(7.5, 10.25) eseguirà il metodo3.
La sequenza del tipo di dati dei parametri
In questo tipo di sovraccarico del metodo in Java , sia il nome del metodo che il numero di parametri sono gli stessi, ma la differenza sta nella sequenza dei tipi di dati di questi parametri. Di seguito è riportato l'esempio di metodi sovraccaricati:
Metodo 1: add(int, float)

Metodo 2: add(float, int)
Qui, chiamando l'istruzione add(100, 75.5) chiamerà il metodo1 da eseguire e add(55.25, 150) eseguirà il metodo2.
Pertanto, sono i parametri nell'istruzione chiamante che decidono quale metodo di overload verrà eseguito.
Leggi: Metodo di sovraccarico in Java
Perché abbiamo bisogno del sovraccarico del metodo in Java?
Se il programmatore ha creato un metodo in Java per eseguire alcune azioni, ma in seguito, come parte del requisito, il programmatore desidera che lo stesso metodo agisca su parametri diversi, il programmatore può semplicemente utilizzare la funzione di sovraccarico del metodo in Java . Ciò consentirà al programmatore di creare i metodi per eseguire funzioni simili con lo stesso nome in modo che non debbano ricordare i nomi in seguito.
Conosciamo i vantaggi dell'esecuzione dell'overloading del metodo in Java.
Vantaggi dell'esecuzione dell'overloading del metodo in Java
Di seguito sono riportati alcuni dei vantaggi dell'overloading del metodo in Java :
- Migliora la leggibilità del codice scritto.
- Aggiunge pulizia al codice scritto.
- Può essere utilizzato anche sui costruttori in modo da poter creare oggetti diversi passando dati diversi.
- Offre ai programmatori la flessibilità di chiamare metodi diversi con nomi simili.
- I metodi sovraccaricati possono avere diversi tipi di restituzione.
Da leggere: Carriera in Java
Regole per il sovraccarico dei metodi in Java
- La prima regola è cambiare la firma del metodo. La firma del metodo si riferisce al numero di argomenti, alla sequenza di parametri e al tipo di dati dei parametri.
- Se cambiamo solo il tipo restituito del metodo mantenendo invariati il nome del metodo e gli argomenti, questo non sarà l'overloading del metodo ma darà origine a un errore di compilazione.
Punti importanti sul sovraccarico del metodo in Java
- Qualsiasi codice scritto in Java non può avere metodi con lo stesso nome. Se creiamo 2 metodi con lo stesso nome in Java, verrà generato un errore di compilazione.
- Questo può essere ottenuto attraverso il sovraccarico del metodo. L'overloading dei metodi consente ai programmatori di scrivere due o più di due metodi con lo stesso nome, ma elenchi di parametri diversi.
- L'overloading del metodo in Java è simile all'overloading del costruttore. L'unica differenza è che l'overloading del metodo si verifica per i metodi definiti nella classe mentre l'overloading del costruttore è per i metodi del costruttore della classe.
- Nell'overloading dei metodi in Java, i metodi sottoposti a overload hanno un elenco di parametri diverso. Non ha nulla a che fare con il tipo restituito del metodo. Come esempio; se due metodi hanno lo stesso nome e lo stesso elenco di parametri, ma tipi restituiti diversi, questo non è un sovraccarico del metodo in Java , ma è un caso non valido.
Metodo 1 : int Add (float, float)
Metodo 2 : float Aggiungi (float, float)
Questo è il caso non valido di sovraccarico del metodo poiché entrambi i metodi Add() hanno lo stesso nome e lo stesso elenco di parametri.
Di seguito è riportato il codice che spiega il metodo Overloading in Java:
Somma classe{
privato int a;
privato int b;
privato int c;
privato int d;
int public add(int a, int b){
int c;
c=a+b;
ritorno c;
}
int public add(int a, float b){
int c;
c=a+b;
ritorno c;
}
int public add(float a, float b){
int c;
c=a+b;
ritorno c;
}
int public add(float a, int b, int c){
int d;
d=a+b+c;
ritorno d;
}
}
Pubblico statico vuoto principale (String[]args)
{
// Creazione dell'oggetto della classe nel metodo principale
sum obj1 = nuova somma();
somma1=obj1.aggiungi(10,20);
somma2=obj1.add(10,55,5);
somma3=obj1.add(110.5,25.5);

somma4=obj1.add(10,20,30);
}
Leggi anche: Programmi Pattern in Java
Conclusione
In questo articolo, il Method Overloading in Java è stato discusso in dettaglio, spiegandone tipi, regole e vantaggi. L'argomento è stato spiegato in modo approfondito con l'aiuto di esempi. Facci sapere nei commenti se hai dubbi sul sovraccarico in Java.
Se sei interessato a saperne di più su Java, lo sviluppo di software full-stack, dai un'occhiata al Diploma PG di upGrad e IIIT-B in Sviluppo software full-stack, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, oltre 9 progetti e incarichi, status di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.