Funkcja globalna
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
MojeFunkcjesą oznaczone jako static. Nie jest konieczne istnienie obiektu klasyMojeFunkcje. 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.