Junior
Cosa deve distinguere due metodi affinché possiamo considerarli sovraccarichi?
sobes.tech AI
Risposta dell'AI
Perché due metodi siano considerati sovraccarichi, devono soddisfare le seguenti condizioni:
- Nome del metodo uguale. Il nome dei metodi deve essere identico.
- Firma del metodo diversa. La firma del metodo include il nome del metodo e la lista dei tipi di parametri (la loro quantità, ordine e tipi). Il tipo di ritorno del metodo non fa parte della firma e non influisce sulla sovraccaricabilità.
Esempi:
class Example {
void print(int num) { // Firma: print(int)
System.out.println(num);
}
void print(String text) { // Firma: print(String)
System.out.println(text);
}
void print(int num, String text) { // Firma: print(int, String)
System.out.println(num + " " + text);
}
// Questo non è sovraccarico, poiché la firma print(int) si ripete
// int print(int num) {
// return num;
// }
}
Tabella che illustra esempi di sovraccarico:
| Nome del metodo | Tipi di parametri | Metodi uguali / diversi | È sovraccarico? | Motivo |
|---|---|---|---|---|
calc |
(int, int) |
Diversi | Sì | Firma diversa (quantità e tipi di parametri) |
calc |
(double, double) |
Diversi | Sì | Firma diversa (tipi di parametri) |
calc |
(int, int, int) |
Diversi | Sì | Firma diversa (quantità di parametri) |
calc |
() |
Diversi | Sì | Firma diversa (quantità di parametri) |
calc |
(int, int) |
Uguali | No | Firma uguale |
calculate |
(int, int) |
Diversi | No | Nome del metodo diverso |