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