Funkcja globalna – funkcja widziana z każdego miejsca w programie (w przeciwieństwie do funkcji lokalnej, której możliwość wywołania – widoczność jest ograniczona do modułu czy też klasy).

Nadużywanie funkcji globalnych może prowadzić do poważnych problemów, takich jak zaśmiecanie przestrzeni nazw. W nowoczesnych językach programowania takich jak C# istnieje tendencja do rezygnacji zarówno z funkcji globalnych jak i zmiennych globalnych zamykając je w klasy, które mogą być globalne. Tworzenie funkcji jak i zmiennych globalnych jest złą praktyką programistyczną. Aby zatem zasymulować funkcję globalną należy posłużyć się klasą z metodą określoną jako statyczną. Przykład w C++: class MojeFunkcje { public: static char fun1() { /* instrukcje */ } static int fun2() { /* instrukcje */ } static void fun3() { /* instrukcje */ } // inne funkcje }; Funkcje składowe klasy MojeFunkcje są oznaczone jako static. Nie jest konieczne istnienie obiektu klasy MojeFunkcje. Stąd też można się odwołać do każdej z nich poprzez poprzedzenie jej operatorem zakresu :: np. MojeFunkcje::fun3(); Podobną technikę stosuje się w odniesieniu do zmiennych globalnych.

Kategoria:Konstrukcje programistyczne