Junior
Cos'è il sovraccarico di metodi in C#?
sobes.tech AI
Risposta dell'AI
L'overloading dei metodi (Method Overloading) in C# consente di definire più metodi in una stessa classe con lo stesso nome, ma con firme diverse.
La firma del metodo include:
- Il nome del metodo.
- La quantità e i tipi di parametri nella lista dei parametri.
Non include nella firma:
- Il tipo di valore di ritorno.
- I modificatori dei parametri (ad esempio,
ref,out).
Esempio:
// Classe con metodi sovraccarichi
public class Calculator
{
// Sovraccarico 1: Somma di due numeri interi
public int Add(int a, int b)
{
return a + b;
}
// Sovraccarico 2: Somma di due numeri con virgola mobile (altri tipi di parametri)
public double Add(double a, double b)
{
return a + b;
}
// Sovraccarico 3: Somma di tre numeri interi (altro numero di parametri)
public int Add(int a, int b, int c)
{
return a + b + c;
}
// Questo NON è sovraccarico: differisce solo per il tipo di valore di ritorno
/*
public double Add(int a, int b)
{
return (double)(a + b);
}
*/
}
Il compilatore determina quale metodo chiamare durante la compilazione, in base ai tipi e alla quantità di argomenti passati durante la chiamata. Questo è noto come binding statico (Static Binding) o binding precoce (Early Binding).
Vantaggi dell'overloading dei metodi:
- Migliora la leggibilità e l'usabilità del codice.
- Presenta operazioni simili sotto un unico nome, ma per diversi tipi di dati o con set diversi di parametri di input.