Mikä on menetelmän ylikuormitus C #: ssä?

Kun haluat toteuttaa polymorfismin ominaisuuden, se tehdään menetelmän ylikuormituksen avulla. Maallikkokaudella, jos haluamme käyttää yhtä toimintoa useampaan kuin yhteen muotoon, käytämme menetelmää ylikuormituksella. Koska C # on OOP-pohjainen kieli, se tukee täysin polymorfismia.

Ohjelmoija voi käyttää yhtä luokkaa useita kertoja samalla nimellä eri parametreilla. Polymorfismia suoritettaessa kaksi luokkaa tai menetelmää voisivat käyttää samaa nimeä.

Puhutaanko parametrejä käyttävien menetelmien käytöstä c #: n luokissa ja menetelmissä.

  1. Voimme ylikuormittaa menetelmän perustuen useisiin parametreihin. Menetelmissä parametrit tulisi siirtää argumenttina.
  2. Kahta menetelmää ei voida määritellä samalla nimellä samoilla tyypeillä ja välitetyillä parametreilla. Se antaisi sinulle virheen.
  3. Vaikka kääntäjä ei pidä paluutapaa, kahta menetelmää ei voida ilmoittaa samalla nimellä, tyypillä tai allekirjoituksella.

Mitä menetelmän ylikuormitusta käytetään?

Kun et halua ilmoittaa useampaa kuin yhtä menetelmää saman tyyppiselle menetelmälle samanlaisten tehtävien suorittamista varten , ja haluat käyttää samaa menetelmää eri tavoin. Esimerkiksi, eri tulot, eri järjestys, eri tulojen lukumäärä samoille menetelmille, sinun tulisi käyttää menetelmän ylikuormitusta.

Otetaan tosielämän esimerkki. Me koodaamme laskinta, jossa sinut tarjotaan koodaamaan laskimen summaosa. Kaikki käyttäjän syöttämät numerot tulisi lisätä toisiinsa ja palauttaa kaikkien syötettyjen numeroiden summa.

On olemassa rajoitus. Käyttäjät voivat lisätä enintään kolme numeroa yhdellä kertaa.

Voit tehdä sen helposti seuraavasti:

  1. Ilmoita menetelmä, jonka avulla kaikki parametrien sisällä olevat numerot summataan
  2. Menetelmän ylikuormitus tehdään parametrien lukumäärän mukaan.
  3. Menetelmän pitäisi palauttaa kaikkien syötettyjen numeroiden summa.

Syntaksi

Tässä on menetelmän ylikuormituksen syntaksi.

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

Esimerkkejä menetelmän ylikuormituksesta

Menetelmän ylikuormitus C #: ssä voidaan tehdä muuttamalla alla olevia asioita.

  1. Voit muuttaa menetelmässä käytettyjen parametrien lukumäärää
  2. Voit muuttaa menetelmässä käytettyjen parametrien tyyppiä
  3. Voit muuttaa menetelmässä käytettyjen parametrien järjestystä.

Jos samantyyppiset allekirjoitukset ja parametrit välitetään samalla menetelmällä, se antaa sinulle käännösvirheen. Allekirjoituksen tulisi olla erilainen, jos käytetään polymorfismin ominaisuutta tai yritetään ylikuormittaa menetelmää C #: ssä.

Otetaan esimerkki jokaisesta.

1. Parametrien määrän muuttaminen

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

lähtö:

2. Parametrien tietotyyppien muuttaminen

// Ohjelmamme osoittamaan menetelmän ylikuormituksen funktio
// Muutamme tässä parametrien tietotyypin.

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

lähtö:

3. Parametrien tietotyyppien muuttaminen.

// Ohjelmamme osoittamaan menetelmän ylikuormituksen funktio
// Muutamme tässä parametrien tietotyypin.

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

lähtö:

johtopäätös

Menetelmän ylikuormitus on hämmästyttävä ominaisuus OOP-pohjaisessa konseptissa ja voi pelastaa sinut paljon vaivaa, jos olet ohjelmoija. Menetelmän ylikuormitus on yksi polymorfismiominaisuuksista. Oikein käytettynä se voi estää sinua ilmoittamasta useampaa kuin yhtä menetelmää ja ilmoittamasta siitä joka kerta, kun suoritetaan samanlainen tehtävä.

Vaikka tätä ominaisuutta käytetään, on allekirjoitustyyppi. Tämän tulisi olla erilainen joka kerta, kun menetelmää käytetään joko useilla parametreilla ja järjestyksellä parametrien mukaan tai parametrityypin mukaan, kuten yllä on esitetty esimerkeissä.

Suositellut artikkelit

Tämä on opas menetelmän ylikuormitukseen C #: ssä. Tässä keskustellaan menetelmän ylikuormituksen käytöstä esimerkkien ja tuotoksien kanssa. Voit myös tarkastella seuraavaa artikkelia saadaksesi lisätietoja-

  1. Tuhoaja C #: ssä
  2. Ylikuormitus C #: ssä
  3. C # Kääntäjät
  4. C # TAI Operaattori
  5. Polymorfismi Java
  6. Ylikuormitus Java-sovelluksessa
  7. C ++ -tyypit
  8. Pythonin ylikuormitus
  9. Ylikuormitus ja ohittaminen C #: ssä
  10. Tuhoaja PHP: ssä | esimerkit