Sobes.tech
Junior

Kas ir metožu pārlādēšana C#?

sobes.tech AI

Atbilde no AI

Metodes pārklāšana (Method Overloading) C# ļauj definēt vairākas metodes tajā pašā klasē ar to pašu nosaukumu, bet ar dažādām parakstiem.

Metodes paraksts ietver:

  • Metodes nosaukumu.
  • Parametru skaitu un tipu sarakstā.

Ne iekļaujas parakstā:

  • Atgriešanas tipu.
  • Parametru modifikatorus (piemēram, ref, out).

Piemērs:

// Klase ar pārklātām metodēm
public class Calculator
{
    // Pārklāšana 1: Divu veselu skaitļu saskaitīšana
    public int Add(int a, int b)
    {
        return a + b;
    }

    // Pārklāšana 2: Divu decimālo skaitļu saskaitīšana (citi parametru tipi)
    public double Add(double a, double b)
    {
        return a + b;
    }

    // Pārklāšana 3: Trīs veselu skaitļu saskaitīšana (cits parametru skaits)
    public int Add(int a, int b, int c)
    {
        return a + b + c;
    }

    // Tas NAV pārklāšana: atšķiras tikai pēc atgriešanas tipa
    /*
    public double Add(int a, int b)
    {
        return (double)(a + b);
    }
    */
}

Kompilators nosaka, kuru metodi izsaukt, balstoties uz argumentu tipu un skaitu, kas nodoti izsaukuma laikā. To sauc par statisku saistīšanu (Static Binding) vai agrīnu saistīšanu (Early Binding).

Metodes pārklāšanas priekšrocības:

  • Uzlabo koda lasāmību un lietošanas ērtumu.
  • Piedāvā līdzīgas operācijas vienā nosaukumā, bet dažādu datu tipu vai ar dažādiem ievades parametru komplektiem.