Co je přetížení metody v C #?

Pokud chcete implementovat funkci polymorfismu, provádí se to pomocí metody Přetížení metody. Pokud chceme používat jednu funkci pro více než jednu formu, používáme přetížení metod. Protože C # je jazyk založený na OOP, plně podporuje polymorfismus.

Programátor může používat jednu třídu vícekrát se stejným názvem s různými parametry. Při provádění polymorfismu by dvě třídy nebo metody mohly používat stejný název.

Pojďme mluvit o různých metodách použití parametrů ve třídách a metodách c #.

  1. Tuto metodu můžeme přetížit na základě několika předaných parametrů. V metodách by parametry měly být předávány jako argumenty.
  2. Nelze definovat dvě metody se stejným názvem se stejným typem a pořadí předaných parametrů. Dalo by to chybu.
  3. Ačkoli kompilátor nezohledňuje typ návratu, dvě metody nelze deklarovat se stejným názvem, typem nebo podpisem.

Co je to přetížení metody?

Pokud nechcete deklarovat více než jednu metodu pro podobný typ metody pro provedení podobných úkolů a chcete použít stejnou metodu různými způsoby. Například různé vstupy, různé pořadí, různý počet vstupů pro stejné metody, měli byste použít přetížení metody.

Vezměme si příklad ze skutečného života. Kódujeme kalkulačku, kde vám poskytneme kód pro částku kalkulačky. Všechna čísla, která zadává uživatel, by se měla k sobě přidat a vrátit součet všech zadaných čísel.

Existuje omezení. Uživatelé nemohou přidat více než tři čísla najednou.

Zde jsou kroky, jak to snadno udělat:

  1. Deklarujte metodu, která by měla spočítat všechna čísla předaná v parametrech
  2. Přetížení metody by bylo provedeno podle počtu předaných parametrů.
  3. Metoda by měla vrátit součet všech zadaných čísel.

Syntax

Zde je syntaxe přetížení 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
)
)

Příklady přetížení metody

Přetížení metody v C # lze provést změnou níže uvedených věcí.

  1. Můžete změnit počet parametrů předaných v metodě
  2. Můžete změnit typ parametrů předávaných v metodě
  3. Můžete změnit pořadí parametrů předaných v metodě.

Pokud jsou stejný typ podpisu a parametry předány stejnou metodou, dojde k chybě kompilace. Podpis by měl být odlišný, pokud se používá funkce polymorfismu nebo se pokouší přetížit metodu v C #

Vezměme si příklad každého.

1. Změna počtu parametrů

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

Výstup:

2. Změna datových typů parametrů

// Náš program ukazuje funkci přetížení metody
// Zde změníme datový typ parametrů.

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

Výstup:

3. Změna datových typů parametrů.

// Náš program ukazuje funkci přetížení metody
// Zde změníme datový typ parametrů.

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

Výstup:

Závěr

Přetížení metod je úžasná funkce konceptu založeného na OOP a může vás zachránit před mnoha problémy, pokud jste programátor. Přetížení metod je jedním z rysů polymorfismu. Pokud je správně používán, může vám zabránit v deklaraci více než jedné metody a při každém podobném prohlášení.

Při použití této funkce je typ podpisu. To by se mělo lišit pokaždé, když se metoda používá buď podle několika parametrů a pořadí podle parametrů nebo podle typu parametrů, jak je uvedeno výše v příkladech.

Doporučené články

Toto je průvodce metodou Přetížení v C #. Zde diskutujeme použití přetížení metody s příklady a výstupy. Další informace naleznete také v následujícím článku.

  1. Destruktor v C #
  2. Přetížení v C #
  3. C # Kompilátory
  4. Operátor C # OR
  5. Polymorfismus v Javě
  6. Přetížení v Javě
  7. Datové typy C ++
  8. Přetížení Pythonu
  9. Přetížení a přemostění v C #
  10. Destruktor v PHP | Příklady

Kategorie: