O que é Sobrecarga de método em C #?

Quando você deseja implementar o recurso de polimorfismo, isso é feito com a ajuda de Sobrecarga de método. Em um termo leigo, se queremos usar uma função para mais de uma forma, usamos sobrecarga de método. Como o C # é uma linguagem baseada em OOPs, ele suporta completamente o polimorfismo.

Um programador pode usar uma classe várias vezes com o mesmo nome com parâmetros diferentes. Ao usar o polimorfismo, duas classes ou métodos podem usar o mesmo nome.

Vamos falar sobre os vários métodos de uso de parâmetros nas classes e métodos de c #.

  1. Podemos sobrecarregar o método com base em vários parâmetros passados. Nos métodos, os parâmetros devem ser passados ​​como argumentos.
  2. Dois métodos não podem ser definidos com o mesmo nome com o mesmo tipo e ordem dos parâmetros passados. Isso causaria um erro.
  3. Embora o tipo de retorno não seja considerado pelo compilador, dois métodos não podem ser declarados com o mesmo nome, tipo ou assinatura.

O que é o uso de sobrecarga de método?

Quando você não deseja declarar mais de um método para um tipo semelhante de método para que tarefas semelhantes sejam executadas e deseja usar o mesmo método de maneiras diferentes. Por exemplo, entradas diferentes, ordem diferente, número diferente de entradas para os mesmos métodos, você deve usar sobrecarga de método.

Vamos dar um exemplo da vida real. Estamos codificando uma calculadora na qual você pode codificar a parte da soma da calculadora. Todos os números que estão sendo inseridos pelo usuário devem ser adicionados um ao outro e retornar a soma de todo o número digitado.

Existe uma restrição. Os usuários não podem adicionar mais de três números de uma só vez.

Aqui estão as etapas para fazer isso facilmente:

  1. Declarar um método que deve somar todos os números passados ​​nos parâmetros
  2. A sobrecarga de método seria feita pelo número de parâmetros passados.
  3. O método deve retornar a soma de todos os números digitados.

Sintaxe

Aqui está a sintaxe da sobrecarga de método.

//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
)
)

Exemplos de sobrecarga de método

A sobrecarga de método em C # pode ser feita alterando os itens abaixo.

  1. Você pode alterar o número de parâmetros passados ​​no método
  2. Você pode alterar o tipo de parâmetros passados ​​no método
  3. Você pode alterar a ordem dos parâmetros passados ​​no método

Se o mesmo tipo de assinatura e parâmetros forem passados ​​no mesmo método, ocorrerá um erro de compilação. A assinatura deve ser diferente se você usar o recurso de polimorfismo ou tentar sobrecarregar um método em C #

Vamos dar um exemplo de cada um.

1. Alterando o 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);
)
)

Resultado:

2. Alterando os tipos de dados dos parâmetros

// Nosso programa para mostrar a função de sobrecarga de método
// Vamos mudar o tipo de dados dos parâmetros aqui.

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);
)
)

Resultado:

3. Alterando os tipos de dados dos parâmetros.

// Nosso programa para mostrar a função de sobrecarga de método
// Vamos mudar o tipo de dados dos parâmetros aqui.

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);
)
)

Resultado:

Conclusão

A sobrecarga de método é um recurso incrível do conceito baseado em OOPs e pode poupar muitos aborrecimentos se você for um programador. A sobrecarga de método é um dos recursos do polimorfismo. Se usado corretamente, pode impedir que você declare mais de um método e o declare toda vez que for executar uma tarefa semelhante.

Enquanto estiver usando esse recurso, é o tipo de assinatura. Isso deve ser diferente cada vez que o método está sendo usado por vários parâmetros e ordem por parâmetros ou por tipo de parâmetros, como mostrado acima nos exemplos.

Artigos recomendados

Este é um guia para a Sobrecarga de método em C #. Aqui discutimos o uso de sobrecarga de método com os exemplos e saídas. Você também pode consultar o seguinte artigo para saber mais:

  1. Destruidor em c #
  2. Sobrecarga em c #
  3. Compiladores C #
  4. Operador C # OR
  5. Polimorfismo em Java
  6. Sobrecarga em Java
  7. Tipos de Dados C ++
  8. Sobrecarga de Python
  9. Sobrecarregando e substituindo em c #
  10. Destruidor em PHP | Exemplos