Какво е претоварване на метод в C #?

Когато искате да внедрите характеристиката на полиморфизма, това се прави с помощта на метод Overloading. В лаински термин, ако искаме да използваме една функция за повече от една форма, използваме метод за претоварване. Тъй като 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);
)
)

изход:

заключение

Претоварването на методи е невероятна характеристика на концепцията, базирана на OOP, и може да ви спести от много проблеми, ако сте програмист. Претоварването на метода е една от характеристиките на полиморфизма. Ако се използва правилно, това може да ви попречи да декларирате повече от един метод и да го декларирате всеки път за подобна задача.

Докато използвате тази функция, е типът на подписа. Това трябва да е различно всеки път, когато методът се използва или от няколко параметъра и подредба по параметри, или по тип параметри, както е показано по-горе в примерите.

Препоръчителни статии

Това е ръководство за Метод Претоварване в C #. Тук обсъждаме използването на метод за претоварване с примери и резултати. Можете също така да разгледате следната статия, за да научите повече-

  1. Разрушител в C #
  2. Претоварване в C #
  3. C # Съставители
  4. C # ИЛИ Оператор
  5. Полиморфизъм в Java
  6. Претоварване в Java
  7. C ++ Видове данни
  8. Python Overloading
  9. Претоварване и отмяна в C #
  10. Destructor в PHP | Примери