Overload del metodo Java (con esempi)

In questo articolo imparerai il sovraccarico del metodo e come puoi ottenerlo in Java con l'aiuto di esempi.

In Java, due o più metodi possono avere lo stesso nome se differiscono nei parametri (diverso numero di parametri, diversi tipi di parametri o entrambi). Questi metodi sono chiamati metodi di sovraccarico e questa funzionalità è chiamata sovraccarico del metodo. Per esempio:

 void func () (…) void func (int a) (…) float func (double a) (…) float func (int a, float b) (…)

Qui, il func()metodo è sovraccarico. Questi metodi hanno lo stesso nome ma accettano argomenti diversi.

Nota : i tipi di restituzione dei metodi precedenti non sono gli stessi. È perché il sovraccarico del metodo non è associato ai tipi restituiti. I metodi sovraccaricati possono avere tipi restituiti uguali o diversi, ma devono differire nei parametri.

Perché il sovraccarico del metodo?

Supponiamo di dover eseguire l'addizione di determinati numeri ma può esserci un numero qualsiasi di argomenti (diciamo 2 o 3 argomenti per semplicità).

Per eseguire l'operazione, è possibile creare due metodi sum2num(int, int)e rispettivamente sum3num(int, int, int)per due e tre parametri. Tuttavia, altri programmatori, così come te in futuro, potrebbero confondersi poiché il comportamento di entrambi i metodi è lo stesso ma differiscono per nome.

Il modo migliore per eseguire questa operazione è sovraccaricare i metodi. E, a seconda dell'argomento passato, viene chiamato uno dei metodi sovraccaricati. Questo aiuta ad aumentare la leggibilità del programma.

Come eseguire il sovraccarico del metodo in Java?

Ecco diversi modi per eseguire il sovraccarico del metodo:

1. Sovraccarico modificando il numero di argomenti

 class MethodOverloading ( private static void display(int a)( System.out.println("Arguments: " + a); ) private static void display(int a, int b)( System.out.println("Arguments: " + a + " and " + b); ) public static void main(String() args) ( display(1); display(1, 4); ) )

Uscita :

 Argomenti: 1 Argomenti: 1 e 4

2. Modificando il tipo di dati dei parametri

 class MethodOverloading ( // this method accepts int private static void display(int a)( System.out.println("Got Integer data."); ) // this method accepts String object private static void display(String a)( System.out.println("Got String object."); ) public static void main(String() args) ( display(1); display("Hello"); ) ) 

Uscita :

Dati interi ricevuti. Oggetto String ottenuto.

In questo caso, entrambi i metodi sovraccaricati accettano un argomento. Tuttavia, uno accetta l'argomento di tipo intmentre l'altro accetta l' Stringoggetto.

Diamo un'occhiata a un esempio del mondo reale:

 class HelperService ( private String formatNumber(int value) ( return String.format("%d", value); ) private String formatNumber(double value) ( return String.format("%.3f", value); ) private String formatNumber(String value) ( return String.format("%.2f", Double.parseDouble(value)); ) public static void main(String() args) ( HelperService hs = new HelperService(); System.out.println(hs.formatNumber(500)); System.out.println(hs.formatNumber(89.9934)); System.out.println(hs.formatNumber("550")); ) )

Quando esegui il programma, l'output sarà:

 500 89.993 550.00

Nota : in Java, puoi anche sovraccaricare i costruttori in modo simile ai metodi.

Letture consigliate: sovraccarico del costruttore Java

Punti importanti

  • Due o più metodi possono avere lo stesso nome all'interno della stessa classe se accettano argomenti diversi. Questa funzionalità è nota come sovraccarico del metodo.
  • Il sovraccarico del metodo si ottiene tramite:
    • cambiando il numero di argomenti.
    • o cambiando il tipo di dati degli argomenti.
  • Non si tratta di un sovraccarico del metodo se si modifica solo il tipo restituito dei metodi. Devono esserci differenze nel numero di parametri.

Articoli interessanti...