Junior
Mis on meetodite ülekoormamine C#-s?
sobes.tech AI
Vastus AI-lt
Method Overloading (meetodite ülekoormamine) C#-s võimaldab määratleda sama klassi sees mitu meetodit sama nimega, kuid erinevate signatuuridega.
Meetodi signatuur hõlmab:
- Meetodi nime.
- Parameetrite arvu ja tüüpe parameetrite nimekirjas.
Ei kuulu signatuuri:
- Tagastatava väärtuse tüüp.
- Parameetrite modifikaatorid (näiteks
ref,out).
Näide:
// Klass koos ülekoormatavate meetoditega
public class Calculator
{
// Ülekoormus 1: Kaks täisarvu liitmine
public int Add(int a, int b)
{
return a + b;
}
// Ülekoormus 2: Kaks ujukomaarvu liitmine (teised parameetritüübid)
public double Add(double a, double b)
{
return a + b;
}
// Ülekoormus 3: Kolme täisarvu liitmine (teine parameetrite arv)
public int Add(int a, int b, int c)
{
return a + b + c;
}
// See EI ole ülekoormus: erineb ainult tagastatava väärtuse tüübist
/*
public double Add(int a, int b)
{
return (double)(a + b);
}
*/
}
Kompilaator määrab, millist meetodit kutsuda, lähtudes argumentide tüübist ja arvust, mis antakse kutsumisel. Seda nimetatakse statiliseks sidumiseks (Static Binding) või varajaseks sidumiseks (Early Binding).
Meetodite ülekoormamise eelised:
- Parandab koodi loetavust ja kasutusmugavust.
- Esitab sarnased toimingud ühe nime all, kuid erinevate andmetüüpide või erinevate sisendparameetrite kogumitega.