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.
Spis treści |
this, self, Me itp.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.