Metoda Statyczna
Metoda statyczna, znana również jako metoda klasowa, jest to metoda, która nie jest wywoływana w kontekście konkretnego obiektu danej klasy. Głównie służy do obsługi składowych statycznych klas.
Właściwości Metody Statycznej
- Nie można odwoływać się do składowych niestatycznych, co oznacza, że wskaźnik
this
,self
czyMe
nie są dostępne. - Może wywoływać jedynie inne metody statyczne oraz odwoływać się do pól statycznych w swojej klasie.
- Dostęp do pól oraz metod obiektów przekazywanych jako parametry jest taki sam jak w zwykłej funkcji, ale ma też dostęp do składowych prywatnych obiektów własnej klasy.
- 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 metodę statyczną można wywołać zarówno przez nazwę klasy, jak i przez nazwę obiektu. W drugim przypadku metoda nie korzysta z danych obiektu, co czyni to wywołanie jedynie ułatwieniem składniowym.