Junior
Co je to přetížení metod v C#?
sobes.tech AI
Odpověď od AI
Metoda přetížení (Method Overloading) v C# umožňuje definovat více metod ve stejné třídě se stejným názvem, ale s různými podpisy.
Podpis metody zahrnuje:
- Název metody.
- Počet a typy parametrů v seznamu parametrů.
Ne je zahrnuto do podpisu:
- Typ návratové hodnoty.
- Modifikátory parametrů (například
ref,out).
Příklad:
// Třída s přetíženými metodami
public class Calculator
{
// Přetížení 1: Sčítání dvou celých čísel
public int Add(int a, int b)
{
return a + b;
}
// Přetížení 2: Sčítání dvou desetinných čísel (jiné typy parametrů)
public double Add(double a, double b)
{
return a + b;
}
// Přetížení 3: Sčítání tří celých čísel (jiný počet parametrů)
public int Add(int a, int b, int c)
{
return a + b + c;
}
// Toto NENÍ přetížení: liší se pouze typem návratové hodnoty
/*
public double Add(int a, int b)
{
return (double)(a + b);
}
*/
}
Kompilátor určuje, kterou metodu zavolat během kompilace, na základě typů a počtu argumentů předaných při volání. To je známé jako statické vázání (Static Binding) nebo časné vázání (Early Binding).
Výhody přetížení metod:
- Zlepšuje čitelnost a použitelnost kódu.
- Představuje podobné operace pod jedním názvem, ale pro různé datové typy nebo s různými sadami vstupních parametrů.