Hvad er metodeoverbelastning i C #?

Når du vil implementere funktionen polymorfisme, gøres det ved hjælp af metodeoverbelastning. Hvis vi ønsker at bruge en funktion til mere end en form i en lægmand, bruger vi metodeoverbelastning. Da C # er OOP-baseret sprog, understøtter det fuldstændigt polymorfisme.

En programmerer kan bruge en klasse flere gange med det samme navn med forskellige parametre. Under anvendelse af polymorfisme kan to klasser eller metoder bruge samme navn.

Lad os tale om de forskellige metoder til brug af parametre i klasser og metoder til c #.

  1. Vi kan overbelaste metoden baseret på flere valgte parametre. I metoder skal parametre sendes som argumenter.
  2. To metoder kan ikke defineres med det samme navn med den samme type og rækkefølge af de valgte parametre. Det vil give dig en fejl.
  3. Selvom returtypen ikke overvejes af kompilatoren, kan to metoder ikke erklæres med samme navn, type eller signatur.

Hvad er brugen af ​​metodeoverbelastning?

Når du ikke ønsker at erklære mere end en metode til en lignende type metode til lignende opgaver, der skal udføres , og vil bruge den samme metode på forskellige måder. For eksempel forskellige input, forskellige rækkefølge, forskellige antal input til de samme metoder, skal du bruge metodeoverbelastning.

Lad os tage et ægte eksempel. Vi koder for en lommeregner, hvor du får kode for summen af ​​lommeregneren. Alle numre, der indtastes af brugeren, skal tilføjes hinanden og returnere summen af ​​alt det indtastede nummer.

Der er en begrænsning. Brugere kan ikke tilføje mere end tre numre på én gang.

Her er trinene til at gøre det let:

  1. Angiv en metode, der skal summe alle de numre, der er passeret i parametre
  2. Overbelastning af metoden ville ske ved antallet af passerede parametre.
  3. Metoden skal returnere summen af ​​alle de indtastede numre.

Syntaks

Her er syntaksen for overbelastning af metoden.

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

Eksempler på metodeoverbelastning

Overbelastning af metode i C # kan udføres ved at ændre nedenstående ting.

  1. Du kan ændre antallet af parametre, der er passeret i metoden
  2. Du kan ændre typen af ​​parametre, der er videregivet i metoden
  3. Du kan ændre rækkefølgen af ​​parametre, der er videregivet i metoden.

Hvis den samme type signatur og parametre videregives i samme metode, giver den dig en kompilationsfejl. Signaturen skal være forskellig, hvis du bruger funktionen polymorfisme eller forsøger at overbelaste en metode i C #

Lad os tage et eksempel på hver.

1. Ændring af antallet af parametre

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

Produktion:

2. Ændring af datatyperne for parametrene

// Vores program til at vise funktionen af ​​metodeoverbelastning
// Vi ændrer datatypen for parametre her.

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

Produktion:

3. Ændring af datatyperne for parametrene.

// Vores program til at vise funktionen af ​​metodeoverbelastning
// Vi ændrer datatypen for parametre her.

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

Produktion:

Konklusion

Overbelastning af metoder er en fantastisk funktion ved OOP-baseret koncept og kan spare dig for en masse besvær, hvis du er en programmør. Metodeoverbelastning er en af ​​polymorfismens træk. Hvis det bruges korrekt, kan det forhindre dig i at erklære mere end en metode og erklære den hver gang for en lignende opgave.

Når du bruger denne funktion er typen af ​​underskrifter. Dette skal være forskelligt, hver gang metoden bruges enten af ​​flere parametre og rækkefølge efter parametre eller efter type parametre som vist ovenfor i eksemplerne.

Anbefalede artikler

Dette er en guide til metodeoverbelastning i C #. Her diskuterer vi brugen af ​​metodeoverbelastning med eksemplerne og output. Du kan også se på den følgende artikel for at lære mere-

  1. Destructor i C #
  2. Overbelastning i C #
  3. C # Kompilatorer
  4. C # ELLER Operatør
  5. Polymorfisme i Java
  6. Overbelastning i Java
  7. C ++ Datatyper
  8. Python-overbelastning
  9. Overbelastning og tilsidesættelse i C #
  10. Destructor i PHP | eksempler

Kategori: