Junior
Ինչ է մեթոդների ավելցուկային բեռնվածությունը C#-ում?
sobes.tech AI
Պատասխան AI-ից
C#-ի մեթոդների ավելցուկային բեռնվածությունը (Method Overloading) թույլ է տալիս նույն դասում մի քանի մեթոդ սահմանել նույն անունով, բայց տարբեր ստորագրություններով:
Մեթոդի ստորագրությունը ներառում է՝
- Մեթոդի անունը։
- Պարամետրերի քանակը և տեսակները պարամետրերի ցանկում։
Չի ներառվում ստորագրության մեջ՝
- Վերադարձվող արժեքի տեսակը։
- Պարամետրերի մոդիֆիկատորները (օրինակ,
ref,out)։
Օրինակ՝
// Կլաս, որը պարունակում է ավելցուկային մեթոդներ
public class Calculator
{
// Ավելցուկային 1: Երկու ամբողջ թվերի գումարում
public int Add(int a, int b)
{
return a + b;
}
// Ավելցուկային 2: Երկու տիպի տողային թվերի գումարում (այլ պարամետրային տիպեր)
public double Add(double a, double b)
{
return a + b;
}
// Ավելցուկային 3: Երեք ամբողջ թվերի գումարում (այլ պարամետրային քանակ)
public int Add(int a, int b, int c)
{
return a + b + c;
}
// Սա ՉԻ ԵՆԱՄ ավելցուկային մեթոդ՝ միայն վերադարձվող արժեքի տիպով տարբեր է
/*
public double Add(int a, int b)
{
return (double)(a + b);
}
*/
}
Կոմպիլյատորը որոշում է, թե որ մեթոդը կանչել ժամանակի ընթացքում՝ հիմնվելով փոխանցվող արգումենտների տիպերի և քանակի վրա։ Սա հայտնի է որպես ստատիկ կապում (Static Binding) կամ վաղ կապում (Early Binding):
Մեթոդների ավելցուկային բեռնման առավելությունները՝
- Կոդի ընթերցելիությունը և օգտագործման հարմարավետությունը բարելավվում է։
- Ներկայացնում է նմանատիպ գործողություններ մեկ անվան տակ, բայց տարբեր տվյալների տիպերով կամ տարբեր մուտքային պարամետրերի հավաքածուներով։