Hva er metodeoverbelastning i C #?

Når du ønsker å implementere funksjonen polymorfisme, gjøres det ved hjelp av Method Overloading. I en lekmannsbetegnelse, hvis vi ønsker å bruke en funksjon for mer enn en form, bruker vi metodeoverbelastning. Siden C # er OOP-basert språk, støtter det fullstendig polymorfisme.

En programmerer kan bruke en klasse flere ganger med samme navn med forskjellige parametere. Når du bruker polymorfisme, kan to klasser eller metoder bruke samme navn.

La oss snakke om de forskjellige metodene for bruk av parametere i klasser og metoder for c #.

  1. Vi kan overbelaste metoden basert på flere passerte parametere. I metoder skal parametere sendes som argumenter.
  2. To metoder kan ikke defineres med samme navn med samme type og rekkefølge på passerte parametere. Det vil gi deg en feil.
  3. Selv om returtypen ikke blir vurdert av kompilatoren, kan to metoder ikke deklareres med samme navn, type eller signatur.

Hva er bruken av metodeoverbelastning?

Når du ikke vil erklære mer enn en metode for en lignende type metode for lignende oppgaver som skal utføres , og vil bruke den samme metoden på forskjellige måter. For eksempel forskjellige innganger, forskjellig rekkefølge, forskjellige antall innganger for de samme metodene, bør du bruke overbelastning av metoder.

La oss ta et ekte eksempel. Vi koder for en kalkulator der du får kode for summen av kalkulatoren. Alle numrene som legges inn av brukeren, skal legges til hverandre og returnere summen av alle inntastede nummer.

Det er en begrensning. Brukere kan ikke legge til mer enn tre tall på en gang.

Her er trinnene for å gjøre det enkelt:

  1. Forklar en metode som skal summere alle tallene som er gitt i parametere
  2. Overbelastning av metoden vil bli gjort med antall passerte parametere.
  3. Metoden skal returnere summen av alle inntastede tall.

syntax

Her er syntaks for overbelastning av 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 av metoden i C # kan gjøres ved å endre tingene nedenfor.

  1. Du kan endre antall parametere som er passert i metoden
  2. Du kan endre typen parametere som er passert i metoden
  3. Du kan endre rekkefølgen på parametere som er gitt i metoden.

Hvis samme type signatur og parametere sendes på samme metode, vil det gi deg en samlingsfeil. Signaturen skal være annerledes hvis du bruker funksjonen polymorfisme eller prøver å overbelaste en metode i C #

La oss ta et eksempel på hver.

1. Endre antall parametere

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

Produksjon:

2. Endre datatypene for parametrene

// Vårt program for å vise funksjonen til metodebelastning
// Vi vil endre datatypen for parametere 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);
)
)

Produksjon:

3. Endre datatypene for parametrene.

// Vårt program for å vise funksjonen til metodebelastning
// Vi vil endre datatypen for parametere 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);
)
)

Produksjon:

Konklusjon

Overbelastning av metoder er en fantastisk funksjon i OOP-basert konsept og kan spare deg for mye mas hvis du er programmerer. Overbelastning av metoden er en av polymorfismens trekk. Hvis den brukes riktig, kan det hindre deg i å erklære mer enn en metode og erklære den hver gang for en lignende oppgave.

Når du bruker denne funksjonen er det typen signatur. Dette skal være forskjellig hver gang metoden blir brukt enten av flere parametere og rekkefølge etter parametere eller etter type parametere som vist ovenfor i eksemplene.

Anbefalte artikler

Dette er en guide til metodeoverbelastning i C #. Her diskuterer vi bruken av metodeoverbelastning med eksemplene og utgangene. Du kan også se på følgende artikkel for å lære mer-

  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 overstyring i C #
  10. Destructor i PHP | eksempler