Junior
Čo je to preťažovanie metód v C#?
sobes.tech AI
Odpoveď od AI
Preopakovanie metód (Method Overloading) v C# umožňuje definovať viacero metód v rovnakej triede s rovnakým názvom, ale s rôznymi podpismi.
Podpis metódy zahŕňa:
- Názov metódy.
- Počet a typy parametrov v zozname parametrov.
Ne je zahrnuté v podpise:
- Typ návratovej hodnoty.
- Modifikátory parametrov (napríklad
ref,out).
Príklad:
// Trieda s preťaženými metódami
public class Calculator
{
// Preťaženie 1: Sčítanie dvoch celých čísel
public int Add(int a, int b)
{
return a + b;
}
// Preťaženie 2: Sčítanie dvoch desatinných čísel (iné typy parametrov)
public double Add(double a, double b)
{
return a + b;
}
// Preťaženie 3: Sčítanie troch celých čísel (iný počet parametrov)
public int Add(int a, int b, int c)
{
return a + b + c;
}
// Toto NIE je preťaženie: líši sa iba typom návratovej hodnoty
/*
public double Add(int a, int b)
{
return (double)(a + b);
}
*/
}
Kompilátor určuje, ktorú metódu zavolať počas kompilácie, na základe typov a počtu argumentov, ktoré sú odovzdané pri volaní. Toto je známe ako statické viazanie (Static Binding) alebo skoré viazanie (Early Binding).
Výhody preťaženia metód:
- Zlepšuje čitateľnosť a použiteľnosť kódu.
- Predstavuje podobné operácie pod jedným názvom, ale pre rôzne dátové typy alebo s rôznymi sadami vstupných parametrov.