podprogram
(neboli funkce, procedura, metoda)
- oddělená část kódu, kterou můžeme volat opakovaně
- dělá jednu konkrétní věc
- slouží k rozdělení problému na menší části (dekompozice)
skládá se z:
- vstupy: parametry (argumenty), se kterými funkce pracuje
- tělo: samotný kód, logika
- výstup: návratová hodnota (return)
-
- může i ošetření: validace vstupů, try-catch bloky
rozlišují se na funkce a procedury:
funkce:
- vrací výsledek (číslo, text, objekt), nějaká data
- má jasně daný výstup (návratový typ)
- musí mít klíčové slovo
return
procedura:
- nic nevrací
- jejím úkolem je pouze něco provést (např. updatovat záznam v db)
- v C#, Java jako
void
v OOP se funkce / procedura nazývá metoda (pokud je součástí třídy)
parametry a předávání dat
když funkci předáme nějakou proměnnou, co se s ní stane?
předávání hodnotou (value)
- vytvoří se lokální kopie proměnné
- funkce dostane pouze kopii hodnoty
- jakákoliv změna proměnné uvnitř fce neovlivní původní proměnnou vně funkce
- originál zůstává ČISTÝ
předávání referencí (reference)
- funkce dostane adresu na původní proměnnou v paměti