Čo je preťaženie metód v C #?

Ak chcete implementovať funkciu polymorfizmu, vykonáva sa to pomocou metódy Preťaženie metód. Ak chceme používať jednu funkciu pre viac ako jednu formu, používame preťaženie metód. Pretože C # je jazyk založený na OOP, úplne podporuje polymorfizmus.

Programátor môže používať jednu triedu viackrát s rovnakým menom s rôznymi parametrami. Pri použití polymorfizmu by dve triedy alebo metódy mohli používať rovnaké meno.

Poďme hovoriť o rôznych metódach použitia parametrov v triedach a metódach c #.

  1. Túto metódu môžeme preťažiť na základe niekoľkých odovzdaných parametrov. V metódach by parametre mali byť odovzdávané ako argumenty.
  2. Nie je možné definovať dve metódy s rovnakým názvom s rovnakým typom a poradím odovzdaných parametrov. To by vám chybu.
  3. Aj keď kompilátor nezohľadňuje typ návratu, dve metódy nemožno deklarovať s rovnakým menom, typom alebo podpisom.

Čo je použitie preťaženia metódami?

Ak nechcete deklarovať viac ako jednu metódu pre podobný typ metódy na vykonanie podobných úloh a chcete rovnakú metódu použiť rôznymi spôsobmi. Napríklad rôzne vstupy, rôzne poradie, rôzny počet vstupov pre rovnaké metódy, mali by ste použiť preťaženie metód.

Vezmime si príklad zo skutočného života. Kódujeme kalkulačku, kde vám poskytneme kód pre súčtovú časť kalkulačky. Všetky čísla, ktoré zadáva užívateľ, by sa mali navzájom pripočítať a vrátiť súčet všetkých zadaných čísel.

Existujú obmedzenia. Používatelia nemôžu naraz pridať viac ako tri čísla.

Tu sú kroky, ako to urobiť ľahko:

  1. Deklarujte metódu, ktorá má spočítať všetky čísla odovzdané v parametroch
  2. Preťaženie metódy by sa uskutočnilo podľa počtu odovzdaných parametrov.
  3. Metóda by mala vrátiť súčet všetkých zadaných čísel.

syntax

Toto je syntax preťaženia metódy.

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

Príklady preťaženia metódy

Preťaženie metód v C # sa dá vykonať zmenou nasledujúcich vecí.

  1. Môžete zmeniť počet parametrov odovzdaných v metóde
  2. Môžete zmeniť typ parametrov odovzdaných v metóde
  3. Môžete zmeniť poradie parametrov odovzdaných v metóde.

Ak sa rovnaký typ podpisu a parametre odovzdajú rovnakou metódou, zobrazí sa chyba kompilácie. Podpis by mal byť odlišný, ak sa používa funkcia polymorfizmu alebo sa snaží preťažiť metódu v C #

Ukážme si príklad každého z nich.

1. Zmena počtu parametrov

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ýkon:

2. Zmena typov údajov parametrov

// Náš program ukazuje funkciu preťaženia metódy
// Tu zmeníme dátový typ parametrov.

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ýkon:

3. Zmena typov údajov parametrov.

// Náš program ukazuje funkciu preťaženia metódy
// Tu zmeníme dátový typ parametrov.

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ýkon:

záver

Preťaženie metód je úžasnou funkciou koncepcie založenej na OOP a môže vám ušetriť veľa problémov, ak ste programátor. Preťaženie metód je jedným z rysov polymorfizmu. Ak sa použije správne, môže vám zabrániť v tom, aby ste vyhlásili viac ako jednu metódu a vyhlásili ju zakaždým na podobnú úlohu.

Pri použití tejto funkcie je typ podpisu. Toto by malo byť odlišné zakaždým, keď sa metóda používa buď podľa niekoľkých parametrov a zoradenia podľa parametrov alebo podľa typu parametrov, ako je uvedené vyššie v príkladoch.

Odporúčané články

Toto je príručka pre preťaženie metód v C #. Tu diskutujeme použitie preťaženia metód pomocou príkladov a výstupov. Ak sa chcete dozvedieť viac, pozrite si nasledujúci článok

  1. Destruktor v C #
  2. Preťaženie v C #
  3. C # Kompilátory
  4. Operátor C # ALEBO
  5. Polymorfizmus v Jave
  6. Preťaženie v Jave
  7. Dátové typy C ++
  8. Preťaženie Pythonu
  9. Preťaženie a prekonanie v C #
  10. Destruktor v PHP | Príklady

Kategórie: