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


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. 

Deklarace podprogramu SectiHodnotyParametru - funkce se 2 vstupními parametry a výstupem

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