Sobes.tech
Junior

¿Qué es la sobrecarga de métodos en C#?

sobes.tech AI

Respuesta de la IA

La sobrecarga de métodos (Method Overloading) en C# permite definir varios métodos en una misma clase con el mismo nombre, pero con diferentes firmas.

Firma del método incluye:

  • Nombre del método.
  • Cantidad y tipos de parámetros en la lista de parámetros.

No se incluye en la firma:

  • Tipo de valor de retorno.
  • Modificadores de parámetros (por ejemplo, ref, out).

Ejemplo:

// Clase con métodos sobrecargados
public class Calculator
{
    // Sobrecarga 1: Suma de dos números enteros
    public int Add(int a, int b)
    {
        return a + b;
    }

    // Sobrecarga 2: Suma de dos números con punto flotante (otros tipos de parámetros)
    public double Add(double a, double b)
    {
        return a + b;
    }

    // Sobrecarga 3: Suma de tres números enteros (otro número de parámetros)
    public int Add(int a, int b, int c)
    {
        return a + b + c;
    }

    // Esto NO es sobrecarga: Solo difiere en el tipo de valor de retorno
    /*
    public double Add(int a, int b)
    {
        return (double)(a + b);
    }
    */
}

El compilador determina qué método llamar en tiempo de compilación, basándose en los tipos y la cantidad de argumentos pasados en la llamada. Esto se conoce como enlace estático (Static Binding) o enlace temprano (Early Binding).

Ventajas de la sobrecarga de métodos:

  • Mejora la legibilidad y facilidad de uso del código.
  • Presenta operaciones similares bajo un mismo nombre, pero para diferentes tipos de datos o con diferentes conjuntos de parámetros de entrada.