Junior
რა არის მეთოდების გადატვირთვა C#-ში?
sobes.tech AI
პასუხი AI-სგან
C# dilində metodların çox yüklənməsi (Method Overloading) eyni sinifdə eyni adla, lakin fərqli imzalarla bir neçə metodun müəyyən edilməsinə imkan verir.
Metodun imzası aşağıdakılardan ibarətdir:
- Metodun adı.
- Parametrlər siyahısında parametr sayı və tipləri.
İmzada aşağıdakılar daxil edilmir:
- Qaytarma tipi.
- Parametr modifikatorları (məsələn,
ref,out).
Nümunə:
// Overloaded metodlara malik sinif
public class Calculator
{
// Overload 1: İki tam ədədin cəmi
public int Add(int a, int b)
{
return a + b;
}
// Overload 2: İki onlu ədədin cəmi (başqa parametr tipləri)
public double Add(double a, double b)
{
return a + b;
}
// Overload 3: Üç tam ədədin cəmi (başqa parametr sayı)
public int Add(int a, int b, int c)
{
return a + b + c;
}
// Bu OVERLOAD DEYİL: yalnız qaytarma tipi ilə fərqlənir
/*
public double Add(int a, int b)
{
return (double)(a + b);
}
*/
}
Kompilyator hansı metodun çağırılacağını, çağırış zamanı verilmiş arqumentlərin tiplərinə və sayına əsaslanaraq müəyyən edir. Bu, statik bağlanma (Static Binding) və ya erkən bağlanma (Early Binding) adlanır.
Metodların çox yüklənməsinin üstünlükləri:
- Kodun oxunaqlığını və istifadəsini yaxşılaşdırır.
- Oxşar əməliyyatları bir ad altında, lakin müxtəlif məlumat tipləri üçün və ya müxtəlif giriş parametrləri ilə təqdim edir.