Mis on meetodi ülekoormamine C # -s?

Kui soovite rakendada polümorfismi funktsiooni, tehakse seda meetodi ülekoormamise abil. Kui soovime kasutada ühte funktsiooni rohkem kui ühe vormi jaoks, siis võtame termini ülekoormamise meetodi. Kuna C # on OOP-põhine keel, toetab see täielikult polümorfismi.

Programmeerija saab kasutada ühte klassi mitu korda sama nimega, erinevate parameetritega. Polümorfismi teostamise ajal võisid kaks klassi või meetodit kasutada sama nime.

Räägime erinevatest parameetrite kasutamise meetoditest c # klassides ja meetodites.

  1. Me võime meetodit üle koormata, tuginedes mitmele läbitud parameetrile. Meetodites tuleks parameetrid edastada argumentidena.
  2. Kahte meetodit ei saa määratleda sama nimega, läbitud parameetrite sama tüübi ja järjekorraga. See annaks teile vea.
  3. Ehkki kompilaator ei arvesta tagastamise tüüpi, ei saa kahte meetodit deklareerida sama nime, tüübi või allkirjaga.

Mis kasu on meetodi ülekoormamisest?

Kui te ei soovi sarnaste toimingute jaoks kuulutada mitut meetodit sama tüüpi meetodi kohta ja soovite kasutada sama meetodit erinevatel viisidel. Näiteks erinevad sisendid, erinev järjekord, erinev sisendite arv samade meetodite jaoks, peaksite kasutama meetodi ülekoormamist.

Võtame reaalse elu näite. Kodeerime kalkulaatorit, kus olete kohustatud kalkulaatori summa osa kodeerima. Kõik numbrid, mille kasutaja sisestab, tuleks üksteisele lisada ja tagastada kõigi sisestatud numbrite summa.

Seal on piirang. Kasutajad ei saa korraga lisada rohkem kui kolme numbrit.

Selle hõlpsaks tegemiseks toimige järgmiselt.

  1. Kuulutage meetod, mis peaks kõik parameetrites läbitud numbrid kokku võtma
  2. Meetodi ülekoormamine toimub läbitud parameetrite arvu järgi.
  3. Meetod peaks tagastama kõigi sisestatud numbrite summa.

Süntaks

Siin on meetodi ülekoormamise süntaks.

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

Näited meetodi ülekoormamise kohta

Meetodi ülekoormamist C # -s saab teha allpool toodud asju muutes.

  1. Saate muuta meetodis läbitud parameetrite arvu
  2. Saate muuta meetodis läbitud parameetrite tüüpi
  3. Saate muuta meetodis läbitud parameetrite järjekorda.

Kui sama meetodiga antakse üle sama tüüpi allkiri ja parameetrid, annab see teile kompileerimisvea. Allkiri peaks olema erinev, kui kasutate polümorfismi tunnust või proovite meetodit C-vormingus üle koormata.

Võtame igaühe näite.

1. Parameetrite arvu muutmine

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äljund:

2. Parameetrite andmetüüpide muutmine

// Meie programm näitab meetodi ülekoormamise funktsiooni
// Siin muudame parameetrite andmetüüpi.

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äljund:

3. Parameetrite andmetüüpide muutmine.

// Meie programm näitab meetodi ülekoormamise funktsiooni
// Siin muudame parameetrite andmetüüpi.

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äljund:

Järeldus

Meetodi ülekoormamine on OOP-põhise kontseptsiooni hämmastav omadus ja võib programmeerijana päästa teid paljudest vaevadest. Meetodi ülekoormamine on üks polümorfismi tunnuseid. Õige kasutamise korral võib see takistada teid kuulutamast rohkem kui ühte meetodit ja kuulutamast seda iga kord, kui tehakse sarnane ülesanne.

Selle funktsiooni kasutamisel on allkirja tüüp. See peaks olema erinev iga kord, kui meetodit kasutatakse kas mitme parameetri ja järjestuse järgi parameetrite või parameetrite tüübi järgi, nagu ülaltoodud näidetes.

Soovitatavad artiklid

See on juhend meetodi ülekoormamise kohta C # -s. Siin käsitleme meetodite ülekoormamise kasutamist näidete ja väljunditega. Lisateabe saamiseks võite vaadata ka järgmist artiklit -

  1. C-tüüpi hävitaja
  2. Ülekoormus C # -s
  3. C # Koostajad
  4. C # VÕI operaator
  5. Polümorfism Java-s
  6. Ülekoormus Java-s
  7. C ++ andmetüübid
  8. Pythoni ülekoormamine
  9. C-numbri ülekoormamine ja alistamine
  10. Hävitaja PHP-s | Näited

Kategooria: