Funkcja globalna

Z Wikipedii, wolnej encyklopedii

Funkcja globalnafunkcja 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.