Junior
Šta je preopterećenje metoda u C#?
sobes.tech АИ
Одговор од АИ
Preopterećenje metoda (Method Overloading) u C# omogućava definisanje više metoda u istoj klasi sa istim imenom, ali sa različitim potpisima.
Potpis metode uključuje:
- Ime metode.
- Broj i tipove parametara u listi parametara.
Ne uključuje se u potpis:
- Tip povratne vrednosti.
- Modifikatore parametara (npr.
ref,out).
Primer:
// Klasa sa preopterećenim metodama
public class Calculator
{
// Preopterećenje 1: Sabiranje dva cela broja
public int Add(int a, int b)
{
return a + b;
}
// Preopterećenje 2: Sabiranje dva decimalna broja (drugi tipovi parametara)
public double Add(double a, double b)
{
return a + b;
}
// Preopterećenje 3: Sabiranje tri cela broja (drugi broj parametara)
public int Add(int a, int b, int c)
{
return a + b + c;
}
// Ovo NIJE preopterećenje: razlikuje se samo po tipu povratne vrednosti
/*
public double Add(int a, int b)
{
return (double)(a + b);
}
*/
}
Kompajler određuje koji metod da pozove tokom kompajliranja, na osnovu tipova i broja argumenata koji se prosleđuju pri pozivu. Ovo je poznato kao statičko povezivanje (Static Binding) ili rano povezivanje (Early Binding).
Prednosti preopterećenja metoda:
- Poboljšava čitljivost i upotrebljivost koda.
- Predstavlja slične operacije pod jednim imenom, ali za različite tipove podataka ili sa različitim skupovima ulaznih parametara.