Sobes.tech
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):

Մեթոդների ավելցուկային բեռնման առավելությունները՝

  • Կոդի ընթերցելիությունը և օգտագործման հարմարավետությունը բարելավվում է։
  • Ներկայացնում է նմանատիպ գործողություններ մեկ անվան տակ, բայց տարբեր տվյալների տիպերով կամ տարբեր մուտքային պարամետրերի հավաքածուներով։