Junior
O que é sobrecarga de métodos em C#?
sobes.tech IA
Resposta da IA
A sobrecarga de métodos (Method Overloading) em C# permite definir vários métodos numa mesma classe com o mesmo nome, mas com assinaturas diferentes.
Assinatura do método inclui:
- Nome do método.
- Quantidade e tipos de parâmetros na lista de parâmetros.
Não é incluído na assinatura:
- Tipo de valor de retorno.
- Modificadores de parâmetros (por exemplo,
ref,out).
Exemplo:
// Classe com métodos sobrecarregados
public class Calculator
{
// Sobrecarga 1: Soma de dois números inteiros
public int Add(int a, int b)
{
return a + b;
}
// Sobrecarga 2: Soma de dois números de ponto flutuante (outros tipos de parâmetros)
public double Add(double a, double b)
{
return a + b;
}
// Sobrecarga 3: Soma de três números inteiros (outro número de parâmetros)
public int Add(int a, int b, int c)
{
return a + b + c;
}
// Isto NÃO é sobrecarga: Difere apenas pelo tipo de valor de retorno
/*
public double Add(int a, int b)
{
return (double)(a + b);
}
*/
}
O compilador determina qual método chamar durante a compilação, com base nos tipos e na quantidade de argumentos passados na chamada. Isto é conhecido como ligação estática (Static Binding) ou ligação precoce (Early Binding).
Vantagens da sobrecarga de métodos:
- Melhora a legibilidade e facilidade de uso do código.
- Apresenta operações semelhantes sob um mesmo nome, mas para diferentes tipos de dados ou com conjuntos diferentes de parâmetros de entrada.