Mi az a módszer túlterhelése a C # -ben?

Ha meg akarja valósítani a polimorfizmus tulajdonságát, akkor ezt a Method Overloading módszer segítségével kell megtenni. Ha egy laikus kifejezésben egy funkciót egynél több formára akarunk használni, akkor a túlterhelési módszert használjuk. Mivel a C # OOP alapú nyelv, teljes mértékben támogatja a polimorfizmust.

A programozó több osztályt is használhat ugyanazon névvel, különböző paraméterekkel. A polimorfizmus végrehajtása közben két osztály vagy módszer ugyanazt a nevet használhatja.

Beszéljünk a paraméterek felhasználásának különféle módszereiről a c # osztályokban és módszerekben.

  1. Túlterhelhetjük a módszert több átadott paraméter alapján. A módszereknél a paramétereket argumentumként kell átadni.
  2. Két módszer nem definiálható azonos névvel, azonos típusú és átadott paraméterek szerint. Ez hibát okozna.
  3. Bár a fordító nem veszi figyelembe a visszatérési típust, két módszer nem deklarálható azonos névvel, típussal vagy aláírással.

Milyen haszna van a módszer túlterhelésének?

Ha nem szeretne egynél több módszert deklarálni egy hasonló típusú módszerhez hasonló feladatok elvégzéséhez , és ugyanazt a módszert szeretné használni különböző módon. Például, különböző bemenetek, eltérő sorrend, különböző bemenetek száma ugyanahhoz a módszerhez, akkor a módszer túlterhelését kell használnia.

Vegyünk egy valós példát. Kódolunk egy számológépet, ahol rendelkezésére áll a számológép összegének kódolása. Az összes számot, amelyet a felhasználó ad meg, össze kell adni egymással, és vissza kell adnia az összes megadott szám összegét.

Van egy korlátozás. A felhasználók egyidejűleg háromnál több számot adhatnak hozzá.

Az alábbiakban bemutatjuk az egyszerű lépések elvégzésének lépéseit:

  1. Adjon meg egy módszert, amely összeadja az összes paraméterben átadott számot
  2. A módszer túlterhelését az átadott paraméterek száma fogja végrehajtani.
  3. A módszernek vissza kell adnia az összes beírt szám összegét.

Szintaxis

Itt található a módszer túlterhelésének szintaxisa.

//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éldák a módszer túlterhelésére

A módszer túlterhelése C # -ben az alábbi dolgok megváltoztatásával hajtható végre.

  1. Megváltoztathatja a módszerben átadott paraméterek számát
  2. Megváltoztathatja a módszerben átadott paraméterek típusát
  3. Megváltoztathatja a módszerben átadott paraméterek sorrendjét.

Ha ugyanolyan típusú aláírást és paramétereket továbbítanak ugyanabban a módszerben, akkor fordítási hibát fog eredményezni. Az aláírásnak különböznie kell, ha a polimorfizmus tulajdonságát használja, vagy ha egy módszert túlterhel a C # -ben.

Vegyünk példát mindegyikre.

1. A paraméterek számának megváltoztatása

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

Kimenet:

2. A paraméterek adattípusának megváltoztatása

// Programunk a módszer túlterhelésének funkciójának bemutatására
// Itt megváltoztatjuk a paraméterek adattípusát.

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

Kimenet:

3. A paraméterek adattípusának megváltoztatása.

// Programunk a módszer túlterhelésének funkciójának bemutatására
// Itt megváltoztatjuk a paraméterek adattípusát.

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

Kimenet:

Következtetés

A módszer túlterhelése az OOP-alapú koncepció lenyűgöző tulajdonsága, és programozóként megmentheti Önt a sok gondotól. A módszer túlterhelése az egyik polimorfizmus. Megfelelő használat esetén megakadályozhatja, hogy egynél több módszert deklaráljon, és minden alkalommal ugyanazt a feladatot deklarálja.

Miközben ezt a funkciót használja, az aláírás típusa. Ennek különböznie kell minden alkalommal, amikor a módszert több paraméter és paraméter szerinti sorrend, vagy a paraméterek típusa szerint használják, a fenti példákban bemutatottak szerint.

Ajánlott cikkek

Ez egy útmutató a C # módszertúlterheléshez. Itt a módszer-túlterhelés használatát tárgyaljuk a példákkal és az outputokkal. A következő cikkben további információkat is megtudhat -

  1. Romboló C # -ben
  2. Túlterhelés C # -ben
  3. C # Összeállítók
  4. C # VAGY Üzemeltető
  5. Polimorfizmus a Java-ban
  6. Túlterhelés a Java-ban
  7. C ++ adattípusok
  8. Python túlterhelés
  9. Túlterhelés és felülbírálás a C # -ben
  10. Romboló a PHP-ben Példák

Kategória: