Що таке перевантаження методом у C #?

Коли ви хочете реалізувати особливість поліморфізму, це робиться за допомогою методу перевантаження. Якщо мирянин, якщо ми хочемо використовувати одну функцію для більше однієї форми, ми використовуємо метод перевантаження. Оскільки C # є мовою на основі OOP, вона повністю підтримує поліморфізм.

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

Поговоримо про різні методи використання параметрів у класах та методах 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 | Приклади