Funkcja globalna
Z Wikipedii
Funkcja globalna to 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ż obiektu).
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 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.