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) деп аталат.
Методтун жүктөлүшүнүн артыкчылыктары:
- Коддун окумдуулугун жана колдонушун жакшыртат.
- Бир эле аталыштын астында окшош операцияларды көрсөтөт, бирок ар башка маалымат түрлөрү үчүн же ар башка кирүү параметрлеринин топтомдору менен.