Что такое перегрузка метода в C #?

Когда вы хотите реализовать функцию полиморфизма, это делается с помощью метода Overloading. В терминах непрофессионала, если мы хотим использовать одну функцию для более чем одной формы, мы используем перегрузку метода. Поскольку C # является языком на основе ООП, он полностью поддерживает полиморфизм.

Программист может использовать один класс несколько раз с одним и тем же именем с разными параметрами. При использовании выполнения полиморфизма два класса или метода могут использовать одно и то же имя.

Давайте поговорим о различных методах использования параметров в классах и методах c #.

  1. Мы можем перегрузить метод, основываясь на нескольких переданных параметрах. В методах параметры должны передаваться как аргументы.
  2. Два метода не могут быть определены с одинаковыми именами с одинаковым типом и порядком передаваемых параметров. Это даст вам ошибку.
  3. Хотя возвращаемый тип не учитывается компилятором, два метода не могут быть объявлены с одним и тем же именем, типом или сигнатурой.

Какая польза от перегрузки метода?

Если вы не хотите объявлять более одного метода для метода сходного типа для выполнения похожих задач и хотите использовать один и тот же метод по-разному. Например, разные входы, разный порядок, разное количество входов для одних и тех же методов, вы должны использовать метод перегрузки.

Давайте возьмем реальный пример. Мы кодируем калькулятор, где вам предоставляется код для суммы части калькулятора. Все числа, которые вводит пользователь, должны быть добавлены друг к другу и возвращать сумму всех введенных чисел.

Есть ограничение. Пользователи не могут добавлять более трех номеров за один раз.

Вот шаги, чтобы сделать это легко:

  1. Объявите метод, который должен суммировать все числа, переданные в параметрах
  2. Перегрузка метода будет выполняться количеством переданных параметров.
  3. Метод должен возвращать сумму всех введенных чисел.

Синтаксис

Вот синтаксис перегрузки метода.

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

Примеры перегрузки метода

Перегрузка метода в C # может быть сделана путем изменения следующих вещей.

  1. Вы можете изменить количество параметров, переданных в методе
  2. Вы можете изменить тип параметров, передаваемых в методе
  3. Вы можете изменить порядок параметров, передаваемых в методе.

Если подпись и параметры одного и того же типа передаются в одном и том же методе, это приведет к ошибке компиляции. Сигнатура должна отличаться, если вы используете функцию полиморфизма или пытаетесь перегрузить метод в C #

Давайте рассмотрим пример каждого.

1. Изменение количества параметров

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

Выход:

2. Изменение типов данных параметров

// Наша программа для показа функции перегрузки метода
// Здесь мы изменим тип данных параметров.

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

Выход:

3. Изменение типов данных параметров.

// Наша программа для показа функции перегрузки метода
// Здесь мы изменим тип данных параметров.

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

Выход:

Вывод

Перегрузка методов является удивительной особенностью концепции, основанной на ООП, и может избавить вас от многих хлопот, если вы программист. Перегрузка метода является одной из особенностей полиморфизма. При правильном использовании он может помешать вам объявить более одного метода и объявлять его каждый раз для выполнения аналогичной задачи.

При использовании этой функции используется тип подписи. Это должно отличаться каждый раз, когда метод используется несколькими параметрами и порядком по параметрам или по типам параметров, как показано выше в примерах.

Рекомендуемые статьи

Это руководство по перегрузке метода в C #. Здесь мы обсуждаем использование перегрузки метода с примерами и результатами. Вы также можете посмотреть следующую статью, чтобы узнать больше

  1. Деструктор в C #
  2. Перегрузка в C #
  3. Компиляторы C #
  4. C # ИЛИ Оператор
  5. Полиморфизм в Яве
  6. Перегрузка в Java
  7. Типы данных C ++
  8. Перегрузка Python
  9. Перегрузка и переопределение в C #
  10. Деструктор в PHP | Примеры