Metody
3. Deklarace metody s výstupem a s parametry
Komunikace metody s okolím pomocí nelokálních proměnných, zejména u složitějších programů se obecně nedoporučuje. Není totiž příliš zřejmé, které údaje do metody vstupují a které vystupují. Proto je vhodné používat tzv. parametry (představují argumenty metody), které fungují v rámci metody a lze do nich uložit hodnoty z vnějšku metody a pracovat s nimi.
Deklarace metody s návratem využívající parametry vypadá obecně takto:
návratovýDatovýTyp identifikátorMetody(seznamFormálníchParametrů)
{
//Tělo metody - zde jsou umístěny příkazy
return výstup;
}
kde:
- návratovýDatovýTyp a identifikátorMetody - mají stejné významy, které byly popsány v předchozí kapitole
- seznamFormálníchParametrů je uzavřen v kulatých závorkách a seznam nemusí být povinný, tzn., že do metody nemusí vstupovat žádná data. Vstupním datům se říká parametry. Tyto parametry zatím nemusí nabývat konkrétní hodnoty, proto název formální parametry. Tyto parametry nabývají konkrétních hodnot až v rámci provádění metody. Každý parametr má svůj datový typ uváděný před název parametru. Tento datový typ musí být vždy určen. Pokud má metoda více parametrů, jsou od sebe odděleny čárkami
- result - popsáno v předchozí kapitole
- výstup - popsáno v předchozí kapitole
Ilustrativní příklad SectiHodnotyParametru
Algoritmus SectiHodnotyParametru
- Popis: Vývojový diagram součtu hodnot dvou parametrů podprogramu
- Zadání: Zkuste vymyslet, jak byste zaznamenali v podprogramu součet hodnot dvou vstupních parametrů x a y. Z tohoto podprogramu bude vystupovat hodnota součtu. Tento program bude volán z hlavního programu
V tomto případě algoritmu je v mezní značce podprogramu SectiHodnotyParametru definováno, že podprogramu jsou předány dva vstupní formální parametry x a y - viz Obrázek 1. V tomto případě představuje podprogram funkci s celočíselným návratem v podobě hodnoty uložené v lokální proměnné z.

Obrázek 1: Deklarace podprogramu SectiHodnotyParametru - funkce se 2 vstupními parametry a výstupem
Na základě vývojového diagramu SectiHodnotyParametru vytvoříme v konzolové aplikaci program, na kterém si vysvětlíme deklaraci metody s návratem (výstupem) a s předáním parametrů do podprogramu.
Program SectiHodnotyParametru
- Popis: Metoda navracející součet hodnot dvou lokálních proměnných
- Zadání: Vymyslete, jak byste v C# naprogramovali podprogram SectiHodnotyParametru jako konzolovou aplikaci
- Řešení: Bude postupně probráno v následujícím textu
Podívejme
se na zdrojový kód statické metody SectiHodnotyParametru,
kde jsou sečteny hodnoty dvou vstupních celočíselných parametrů x a y – viz Kód 1. Tuto metodu voláme ze statické
metody Main, která představuje
metodu vykonávanou v programu jako první (proto jsme ji deklarovali jako
statickou). Oba parametry jsou datového typu int (celé číslo), ale u každého parametru musíme uvádět samostatně
datový typ. U metody chceme, aby výsledek získaný součtem obou hodnot uložených
v parametrech, byl předán dále do metody, která danou metodu spustila.
Použijeme proto klíčové slovo return,
které nám zajistí výstup hodnoty součtu z metody. Do pomocné proměnné z uložíme hodnotu výrazu x + y, která je celočíselný (součet dvou hodnot celočíselných parametrů představuje znovu celé
číslo). Tento datový typ výsledku musí být vždy shodný s datovým typem uváděným před
názvem metody, což v našem případě vyhovuje – datový typ int.
//Deklarace statické metody s celočíselném výstupem a se dvěma vstupními parametry static int SectiHodnotyParametru(int x, int y) { //Deklarace lokální pomocné celočíselné proměnné int z; //Součet hodnot parametrů z = x + y; //Návrat - výstup metody je součet hodnot parametrů return z; }
Kód 1: Příklad deklarace metody se dvěma vstupními
parametry a celočíselným výstupem