Funkcje¶
Formalizm funkcji obejmuje definiowanie funkcji
def f1(x,y):
return x*y
oraz jej wywołanie
z=f1(2,3)
print z
W językach Java i Objective-C odpowiednia definicja funkcji będzie zawierała deklaracje typu wartości zwracanej przez funkcję oraz deklaracje typów parametrów formalnych przekazywanych do funkcji
int f1(int x,int y)
{
return x*y;
}
Ponieważ w formaliźmie C/C++ każda funkcja ma przypisany typ, wszystkie dane konsekwentnie mają przypisany typ, funkcja która nie zwraca żadnej wartości definiowana jest jako funkcja zwracająca typu void. Wywołanie tak zdefiniowanej funkcji będzie miało postać
int z;
z=f1(3,7);
W języku Objective-C, wewnątrz definicji funkcji nie możemy umieszczać (zagnieżdżać) definicji innych funkcji (taką możliwość posiadają niektóre języki programowania). Deklaracją funkcji nazywa się nagłówek definicji funkcji (definicję bez głównego bloku, czyli ciała funkcji). Definicja i deklaracja funkcji nie są instrukcjami wykonywalnymi, kolejność ich występowania w programie nie ma znaczenia, o ile definicja lub co najmniej deklaracja (prototyp) funkcji poprzedza wywołanie tej funkcji
int f1(int,int); //nagłówek (prototyp) funkcji
int main()
{
int z;
z=f1(3,7); //wywołanie funkcji
}
int f1(int x,int y) //definicja funkcji
{
return x*y;
}
Z powodów praktycznych nagłówki funkcji bibliotecznych umieszcza się w tak zwanych plikach nagłówkowych, które można dołączyć do pliku z programem za pomocą dyrektywy preprocesora #import. W języku Java, każda funkcja to funkcja składowa klasy (metoda).