Metoda statyczna
Z Wikipedii
Metoda statyczna albo metoda klasowa - w programowaniu obiektowym jest to metoda klasy, która nie jest wywoływana w kontekście żadnego konkretnego (obiektu) tej klasy. Metody statyczne z reguły służą do obsługi składowych statycznych klas.
[edytuj] Przykład metody statycznej
Przykład w C++:
class Klasa { public: static int metodaStatyczna() { /* ciało metody */ } int podajX() { return x; } int wpiszX( int x ) { this->x = x; } private: int x; }; int main() { Klasa::metodaStatyczna(); // wywołanie poprzez nazwę klasy Klasa obiekt; obiekt.wpiszX( 11 ); // wywołanie metody zwykłej obiekt.metodaStatyczna(); // wywołanie za pośrednictwem nazwy istniejącego obiektu }
- Zgodnie z powyższym przykładem, metodę statyczną można wywołać zarówno poprzez podanie nazwy jej klasy, jak i poprzez nazwę obiektu danej klasy. W tym drugim przypadku metoda statyczna nie ma jednak dostępu do danych przechowywanych w obiekcie, na rzecz którego zdaje się być wywoływana; wywołanie tego typu jest jedynie ułatwieniem składniowym.
[edytuj] Właściwości
- W ciele metody statycznej, z racji tego iż nie jest wywoływana na rzecz konkretnego obiektu, nie możemy użyć wskaźnika this.
- Metoda statyczna może wywołać jedynie inne metody statyczne w swojej klasie lub odwoływać się jedynie do pól statycznych w swojej klasie. Dostęp do innych metod obiektów przekazywanych jako parametry (również własnej klasy) czy też obiektów i funkcji globalnych następuje tak samo jak w zwykłej metodzie.
- Metoda statyczna nie może być metodą wirtualną.