Sobes.tech
Junior

C# da metodlarni ortiqcha yuklash nima?

sobes.tech AI

AIdan javob

C# tilida usullarning ortiqcha yuklanishi (Method Overloading) bir sinfda bir xil nomli, ammo imzolari turli bo‘lgan bir nechta usullarni aniqlash imkonini beradi.

Usul imzosi quyidagilarni o‘z ichiga oladi:

  • Usul nomi.
  • Parametrlar ro‘yxatidagi parametrlar soni va turlari.

Imzoda quyidagilar kiritilmaydi:

  • Qaytish turi.
  • Parametrlar modifikatorlari (masalan, ref, out).

Misol:

// Ortiqcha yuklangan usullarga ega sinf
public class Calculator
{
    // 1-ortiqcha yuklash: Ikki butun sonni qo‘shish
    public int Add(int a, int b)
    {
        return a + b;
    }

    // 2-ortiqcha yuklash: Ikki o‘nlik sonni qo‘shish (boshqa parametr turlari)
    public double Add(double a, double b)
    {
        return a + b;
    }

    // 3-ortiqcha yuklash: Uchta butun sonni qo‘shish (boshqa parametrlar soni)
    public int Add(int a, int b, int c)
    {
        return a + b + c;
    }

    // Bu ORTIQCHA YUKLASH emas: faqat qaytish turi bilan farq qiladi
    /*
    public double Add(int a, int b)
    {
        return (double)(a + b);
    }
    */
}

Kompilyator chaqirilgan usulni chaqirish vaqtida aniqlaydi, chaqirishda berilgan argumentlarning turlari va soniga asoslanib. Bu statik bog‘lanish (Static Binding) yoki erta bog‘lanish (Early Binding) deb ataladi.

Usul ortiqcha yuklanishining afzalliklari:

  • Kodning o‘qilishi va foydalanish qulayligini yaxshilaydi.
  • O‘xshash operatsiyalarni bir nom ostida, ammo turli ma’lumot turlari uchun, yoki turli kirish parametrlar to‘plamlari bilan taqdim etadi.