Metoda statyczna albo metoda klasowa – 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.
Właściwości W ciele metody statycznej, z racji tego iż nie jest wywoływana na rzecz konkretnego obiektu, nie można odwoływać się do składowych niestatycznych. Nie można więc użyć wskaźnika this, self, Me itp. 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 pól i metod obiektów przekazywanych jako parametry czy też obiektów i funkcji globalnych następuje tak samo jak w zwykłej funkcji, jednak w przypadku obiektów własnej klasy ma dostęp do składowych prywatnych. Metoda statyczna nie może być metodą wirtualną.
Przykład metody statycznej w C++ class Klasa
public: static int metodaStatyczna()
/* ciało metody */
int podajX()
return x;
void 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
W powyższym przykładzie widać, że 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 i tak zgodnie ze swoją definicją nie korzysta z danych przechowywanych w obiekcie, na rzecz którego zdaje się być wywoływana; wywołanie tego typu jest jedynie ułatwieniem składniowym.
Zobacz też programowanie obiektowe metoda wirtualna zmienna statyczna
Bibliografia
Kategoria:Programowanie obiektowe