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

Cuando desea implementar la función de polimorfismo, se realiza con la ayuda de la sobrecarga de métodos. En un término simple, si queremos usar una función para más de una forma, usamos la sobrecarga de métodos. Como C # es un lenguaje basado en OOP, es completamente compatible con el polimorfismo.

Un programador puede usar una clase varias veces con el mismo nombre con diferentes parámetros. Mientras se utiliza el polimorfismo, dos clases o métodos podrían usar el mismo nombre.

Hablemos de los diversos métodos de uso de parámetros en las clases y métodos de c #.

  1. Podemos sobrecargar el método en función de varios parámetros pasados. En los métodos, los parámetros deben pasarse como argumentos.
  2. No se pueden definir dos métodos con el mismo nombre con el mismo tipo y orden de los parámetros pasados. Te daría un error.
  3. Aunque el compilador no considera el tipo de retorno, no se pueden declarar dos métodos con el mismo nombre, tipo o firma.

¿Cuál es el uso de la sobrecarga de métodos?

Cuando no desea declarar más de un método para un tipo de método similar para realizar tareas similares y desea utilizar el mismo método de diferentes maneras. Por ejemplo, diferentes entradas, diferente orden, diferente número de entradas para los mismos métodos, debe usar la sobrecarga de métodos.

Tomemos un ejemplo de la vida real. Estamos codificando una calculadora donde se le proporciona que codifique la parte de la suma de la calculadora. Todos los números que ingresa el usuario deben agregarse entre sí y devolver la suma de todos los números ingresados.

Hay una restricción Los usuarios no pueden agregar más de tres números de una vez.

Estos son los pasos para hacerlo fácilmente:

  1. Declarar un método que debe sumar todos los números pasados ​​en parámetros
  2. La sobrecarga del método se realizaría por el número de parámetros pasados.
  3. El método debe devolver la suma de todos los números ingresados.

Sintaxis

Aquí está la sintaxis de la sobrecarga de métodos.

//declare the parameters in method
public void method1 (parameter1, parameter2)
(
//some statement
)
public void method1(parameter2, parameter1)
(
//some statement to be executed
)
//in main method pass the parameters while declaring these methods
public static void Main(Strings() args)
(
class object=new class();
object.method(2, 3) //value of parameter
object.method(3, 2) //value of parameter by changing the order
)
)

Ejemplos de sobrecarga de métodos

La sobrecarga de métodos en C # se puede hacer cambiando las siguientes cosas.

  1. Puede cambiar la cantidad de parámetros pasados ​​en el método
  2. Puede cambiar el tipo de parámetros pasados ​​en el método
  3. Puede cambiar el orden de los parámetros pasados ​​en el método.

Si se pasa el mismo tipo de firma y parámetros en el mismo método, le dará un error de compilación. La firma debe ser diferente si usa la función de polimorfismo o intenta sobrecargar un método en C #

Tomemos un ejemplo de cada uno.

1. Cambiar el número de parámetros

using System;
public class methodOverloadfirst
(
//declaring two integers x and y.
public int sum(int x, int y)
(
int result=x+y;
return result;
)
//Let's add three integers in same method
public int sum(int x, int y, int z)
(
int result=x+y+z;
return result;
)
//Declare main method
public static void Main(String() args)
(
methodOverloadfirst obj=new methodOverloadfirst();
int result1=obj.sum(2, 3);
Console.WriteLine("The Sum of the two integer value is : " + result1);
int result2=obj.sum(2, 3, 4);
Console.WriteLine("The Sum of the three integer value is : " + result2);
)
)

Salida:

2. Cambiar los tipos de datos de los parámetros

// Nuestro programa para mostrar la función de sobrecarga de métodos
// Cambiaremos el tipo de datos de los parámetros aquí.

using System;
public class methodOverloadfirst
(
//declaring two integers x and y.
public int sum(int x, int y)
(
int result=x+y;
return result;
)
//Let's add three doubles in same method
public double sum(double x, double y, double z)
(
double result=x+y+z;
return result;
)
//Declare main method
public static void Main(String() args)
(
methodOverloadfirst obj=new methodOverloadfirst();
int result1=obj.sum(2, 3);
Console.WriteLine("The Sum of the two integer value is : " + result1);
double result2=obj.sum(2.1, 3.2, 4.5);
Console.WriteLine("The Sum of the three double value is : " + result2);
)
)

Salida:

3. Cambiar los tipos de datos de los parámetros.

// Nuestro programa para mostrar la función de sobrecarga de métodos
// Cambiaremos el tipo de datos de los parámetros aquí.

using System;
class methodOverloadfirst
(
//declaring one integer and one String
public void displayinfo(string fname, int empID)(
Console.WriteLine("Your name is: " + fname + ", " + "Your Employee ID is: " + empID);
)
//Let's change the order of the parameters
public void displayinfo(int empID, string fname)
(
Console.WriteLine("Your Employee ID is: " + empID + ", " + "Your name is: " + fname);
)
//Declare main method
public static void Main(String() args)
(
methodOverloadfirst obj=new methodOverloadfirst();
obj.displayinfo("Kumar", 121);
obj.displayinfo("Anand", 123);
)
)

Salida:

Conclusión

La sobrecarga de métodos es una característica sorprendente del concepto basado en OOP y podría ahorrarle muchas molestias si es un programador. La sobrecarga de métodos es una de las características del polimorfismo. Si se usa correctamente, podría evitar que declare más de un método y lo declare cada vez que realiza una tarea similar.

Al usar esta función es el tipo de firma. Esto debería ser diferente cada vez que el método está siendo utilizado por varios parámetros y por orden de parámetros o por tipo de parámetros como se muestra arriba en los ejemplos.

Artículos recomendados

Esta es una guía para la sobrecarga de métodos en C #. Aquí discutimos el uso de la sobrecarga de métodos con los ejemplos y salidas. También puede consultar el siguiente artículo para obtener más información.

  1. Destructor en C #
  2. Sobrecarga en C #
  3. Compiladores de C #
  4. Operador C # OR
  5. Polimorfismo en Java
  6. Sobrecarga en Java
  7. Tipos de datos C ++
  8. Sobrecarga de Python
  9. Sobrecarga y anulación en C #
  10. Destructor en PHP | Ejemplos