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.