Czym jest funkcja w programowaniu?
Funkcja to wydzielony fragment programu, który wykonuje określone zadanie. Może przyjmować dane wejściowe, czyli parametry, oraz zwracać wynik. W programowaniu obiektowym podobną rolę pełni metoda, czyli funkcja należąca do klasy lub obiektu.
Po co dzieli się program na funkcje?
Podział programu na funkcje ułatwia tworzenie, analizowanie i utrzymywanie kodu. Najważniejsze korzyści to:
- łatwiejsze debugowanie - błąd można szybciej znaleźć, bo sprawdza się mniejsze fragmenty kodu,
- ponowne wykorzystanie kodu - raz napisaną funkcję można wywołać wiele razy,
- czytelność programu - kod jest lepiej uporządkowany,
- łatwiejsze testowanie - można testować pojedyncze funkcje niezależnie,
- mniejsza liczba powtórzeń - zamiast kopiować ten sam kod, wywołuje się funkcję.
Przykład
def pole_prostokata(a, b):
return a * b
print(pole_prostokata(4, 5))
print(pole_prostokata(10, 2))
Funkcja pole_prostokata została napisana raz, ale można jej używać wielokrotnie dla różnych danych.
Funkcja a metoda
Funkcja może istnieć samodzielnie, np. w Pythonie lub C++. Metoda jest związana z klasą lub obiektem, np. w Javie, C# albo C++.
class Kalkulator {
int dodaj(int a, int b) {
return a + b;
}
}
Tutaj dodaj jest metodą klasy Kalkulator.
Ważne na egzaminie
Podział programu na funkcje lub metody nie gwarantuje kompilacji, nie eliminuje komentarzy i nie usuwa automatycznie potrzeby zmiennych globalnych. Jego głównym celem jest uporządkowanie kodu, łatwiejsze debugowanie oraz ponowne wykorzystanie fragmentów programu.