Co to jest przeciążenie metody w C #?

Kiedy chcesz zaimplementować funkcję polimorfizmu, odbywa się to za pomocą metody Overloading. W laickim pojęciu, jeśli chcemy użyć jednej funkcji dla więcej niż jednej formy, używamy przeciążenia metody. Ponieważ C # jest językiem opartym na OOP, całkowicie obsługuje polimorfizm.

Programista może wielokrotnie używać jednej klasy o tej samej nazwie i różnych parametrach. Podczas wykonywania polimorfizmu dwie klasy lub metody mogą używać tej samej nazwy.

Porozmawiajmy o różnych metodach używania parametrów w klasach i metodach c #.

  1. Możemy przeładować metodę na podstawie kilku przekazanych parametrów. W metodach parametry należy przekazywać jako argumenty.
  2. Nie można zdefiniować dwóch metod o tej samej nazwie i tym samym typie i kolejności przekazywanych parametrów. To dałoby ci błąd.
  3. Chociaż kompilator nie bierze pod uwagę typu zwracanego, nie można zadeklarować dwóch metod o tej samej nazwie, typie lub podpisie.

Jakie jest zastosowanie metody przeciążania?

Gdy nie chcesz zadeklarować więcej niż jednej metody dla podobnego typu metody do wykonania podobnych zadań i chcesz użyć tej samej metody na różne sposoby. Na przykład, różne dane wejściowe, inna kolejność, inna liczba danych wejściowych dla tych samych metod, należy użyć przeciążenia metody.

Weźmy przykład z życia. Kodujemy kalkulator, w którym możesz zakodować część sumy kalkulatora. Wszystkie liczby wprowadzane przez użytkownika powinny być dodawane do siebie i zwracać sumę wszystkich wprowadzonych liczb.

Jest ograniczenie. Użytkownicy nie mogą dodać więcej niż trzech liczb za jednym razem.

Oto kroki, aby zrobić to łatwo:

  1. Zadeklaruj metodę, która powinna sumować wszystkie liczby przekazane w parametrach
  2. Przeciążenie metody nastąpiłoby na podstawie liczby przekazanych parametrów.
  3. Metoda powinna zwrócić sumę wszystkich wprowadzonych liczb.

Składnia

Oto składnia przeciążenia metody.

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

Przykłady przeciążenia metody

Przeciążenie metody w języku C # można wykonać, zmieniając poniższe rzeczy.

  1. Możesz zmienić liczbę parametrów przekazanych w metodzie
  2. Możesz zmienić typ parametrów przekazywanych w metodzie
  3. Możesz zmienić kolejność parametrów przekazywanych w metodzie.

Jeśli ten sam typ podpisu i parametry zostaną przekazane tą samą metodą, pojawi się błąd kompilacji. Podpis powinien być inny, jeśli używasz funkcji polimorfizmu lub próbujesz przeciążać metodę w C #

Weźmy przykład każdego z nich.

1. Zmiana liczby parametrów

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

Wynik:

2. Zmiana typów danych parametrów

// Nasz program do pokazania funkcji przeciążenia metody
// Zmienimy tutaj typ danych parametrów.

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

Wynik:

3. Zmiana typów danych parametrów.

// Nasz program do pokazania funkcji przeciążenia metody
// Zmienimy tutaj typ danych parametrów.

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

Wynik:

Wniosek

Przeciążanie metod jest niesamowitą cechą koncepcji opartej na procesorach operacyjnych i może uratować Cię od wielu kłopotów, jeśli jesteś programistą. Przeciążenie metody jest jedną z cech polimorfizmu. Prawidłowe użycie może uniemożliwić zadeklarowanie więcej niż jednej metody i zadeklarowanie jej za każdym razem w przypadku podobnego zadania.

Podczas korzystania z tej funkcji jest rodzaj podpisu. Powinno to być inne za każdym razem, gdy metoda jest stosowana albo według kilku parametrów, a kolejności według parametrów lub według typu parametrów, jak pokazano powyżej w przykładach.

Polecane artykuły

Jest to przewodnik po przeciążaniu metod w języku C #. Tutaj omawiamy użycie metody Overloading z przykładami i wynikami. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej-

  1. Niszczyciel w C #
  2. Przeciążenie w C #
  3. Kompilatory C #
  4. Operator C # OR
  5. Polimorfizm w Javie
  6. Przeciążenie w Javie
  7. Typy danych C ++
  8. Przeciążenie Pythona
  9. Przeciążanie i zastępowanie w C #
  10. Destructor w PHP | Przykłady