Funkce (programování)
Z Wikipedie, otevřené encyklopedie
V programování je funkce část programu, kterou je možné opakovaně volat z různých míst kódu. Funkce může mít argumenty (též parametry) – údaje, které jí jsou předávány při volání – a návratovou hodnotu, kterou naopak vrací.
Na rozdíl od funkce v matematice nemusí výsledek funkce v programu záviset jen na jejích argumentech – v průběhu svého běhu může samostatně získávat data z paměti nebo jiných vstupů a provádět i výstupní operace, takže návratová hodnota zdaleka nemusí být jejím jediným výsledkem (viz vedlejší účinek) a funkce také nemusí mít žádné formální parametry (typ. funkce vracející hodnotu stisknuté klávesy). Často nemusí funkce vracet žádnou hodnotu, potom se taková funkce může nazývat procedurou.
V objektově orientovaném programování se funkce náležející nějaké třídě nazývají metodami.
[editovat] Argumenty funkce
- formální argumenty (parametry) - udává jakého datového typu a počtu jsou jednotlivé argumenty funkce, některé programovací jazyky umožňují deklarovat funkce s proměným počtem parametrů
- skutečné argumenty (parametry) - jsou to skutečné argumenty (výrazy) uvedené při volání funkce
[editovat] Předávání argumentů
- volání hodnotou (call by value)
- volající provede vyhodnocení výrazu který je zadán jako argument funkce a výslednou hodnotu předá do volané funkce
- volání odkazem (call by reference)
- volající předá v argumentu funkce ukazatel nebo referenci na proměnou. Funkce může obsah této proměnné nejen číst, ale i modifikovat její obsah (viz vedlejší účinek). Často se pole jako argument funkce předává pomocí volání odkazem
- volání jménem (call by name)
- výraz v argumentu funkce se nevyhodnocuje a předá se do funkce tak jak je. Proto se ve funkci může tento argument vyhodnocovat vícekrát. Nejčastější použití je u symbolických maker