Care este metoda supraîncărcării în C #?

Când doriți să implementați caracteristica polimorfismului, aceasta se face cu ajutorul metodei de supraîncărcare. Într-un termen laic, dacă dorim să utilizăm o singură funcție pentru mai multe forme, folosim supraîncărcarea metodei. Deoarece C # este un limbaj bazat pe OOP, acesta acceptă complet polimorfismul.

Un programator poate utiliza o clasă de mai multe ori cu același nume, cu parametri diferiți. În timp ce se utilizează executarea polimorfismului, două clase sau metode ar putea utiliza același nume.

Să vorbim despre diferitele metode de utilizare a parametrilor din clase și metode de c #.

  1. Putem supraîncărca metoda pe baza mai multor parametri trecuți. În metode, parametrii trebuie trecuți ca argumente.
  2. Două metode nu pot fi definite cu același nume cu același tip și ordine a parametrilor trecuți. V-ar da o eroare.
  3. Deși tipul de retur nu este considerat de compilator, două metode nu pot fi declarate cu același nume, tip sau semnătura.

Care este utilizarea supraîncărcării metodei?

Când nu doriți să declarați mai multe metode pentru un tip similar de metodă pentru a fi efectuate sarcini similare și doriți să utilizați aceeași metodă în moduri diferite. De exemplu, intrări diferite, ordine diferită, număr diferit de intrări pentru aceleași metode, ar trebui să utilizați supraîncărcarea metodei.

Să luăm un exemplu din viața reală. Codăm pentru un calculator în care vi se oferă codul pentru suma sumei din calculator. Toate numerele introduse de utilizator ar trebui să fie adăugate între ele și să returneze suma tuturor numărului introdus.

Există o restricție. Utilizatorii nu pot adăuga mai mult de trei numere dintr-o dată.

Iată pașii pentru a o face cu ușurință:

  1. Declarați o metodă care ar trebui să însume toate numerele trecute în parametri
  2. Supraîncărcarea metodei s-ar face prin numărul de parametri trecuți.
  3. Metoda ar trebui să returneze suma tuturor numerelor introduse.

Sintaxă

Iată sintaxa supraîncărcării metodei.

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

Exemple de supraîncărcare a metodei

Supraîncărcarea metodei în C # se poate face modificând lucrurile de mai jos.

  1. Puteți modifica numărul de parametri trecuți în metodă
  2. Puteți modifica tipul de parametri trecuți în metodă
  3. Puteți schimba ordinea parametrilor trecuți în metodă.

Dacă același tip de semnătură și parametri sunt trecuți în aceeași metodă, vă va genera o eroare de compilare. Semnătura ar trebui să fie diferită dacă se folosește caracteristica polimorfismului sau se încearcă supraîncărcarea unei metode în C #

Să luăm un exemplu al fiecăruia.

1. Modificarea numărului de parametri

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

ieşire:

2. Modificarea tipurilor de date ale parametrilor

// Programul nostru pentru a arăta funcția de supraîncărcare a metodei
// Vom modifica aici tipul de parametri de date.

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

ieşire:

3. Modificarea tipurilor de date ale parametrilor.

// Programul nostru pentru a arăta funcția de supraîncărcare a metodei
// Vom modifica aici tipul de parametri de date.

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

ieşire:

Concluzie

Supraîncărcarea metodei este o caracteristică uimitoare a conceptului bazat pe OOP și te-ar putea salva de o mulțime de dificultăți dacă ești programator. Supraîncărcarea metodei este una dintre caracteristicile polimorfismului. Dacă este folosită corect, vă poate împiedica să declarați mai multe metode și să o declarați de fiecare dată în timpul unei sarcini similare.

În timp ce utilizați această caracteristică este tipul de semnătură. Acest lucru ar trebui să fie diferit de fiecare dată când metoda este folosită fie de mai mulți parametri și ordinea după parametri, fie de tipul de parametri, așa cum se arată mai sus în exemple.

Articole recomandate

Acesta este un ghid pentru supraîncărcarea metodei în C #. Aici vom discuta despre utilizarea supraîncărcării metodei cu exemple și rezultate. De asemenea, puteți consulta articolul următor pentru a afla mai multe-

  1. Distrugător în C #
  2. Supraîncărcare în C #
  3. Compilatoare C #
  4. Operator C # OR
  5. Polimorfism în Java
  6. Supraîncărcare în Java
  7. Tipuri de date C ++
  8. Supraîncărcarea Python
  9. Supraîncărcare și suprasolicitare în C #
  10. Distrugător în PHP | Exemple