Klasa statyczna
Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji
Co to jest klasa statyczna?
Klasa statyczna to klasa, która służy do grupowania elementów wspólnych dla całego programu, a nie dla pojedynczych obiektów. W języku C# klasa oznaczona słowem static może zawierać wyłącznie statyczne pola, właściwości i metody.
Nie tworzy się obiektów klasy statycznej za pomocą new. Do jej elementów odwołujemy się przez nazwę klasy.
Najważniejsze cechy
- nie można utworzyć instancji klasy statycznej,
- zawiera tylko elementy statyczne,
- nie może być klasą bazową dla innych klas,
- jest przydatna np. do metod pomocniczych i stałych,
- elementy statyczne są wspólne dla całej aplikacji.
Przykład w C
static class Matematyka
{
public static double Pi = 3.14;
public static int Kwadrat(int x)
{
return x * x;
}
}
int wynik = Matematyka.Kwadrat(5);
Console.WriteLine(Matematyka.Pi);
W przykładzie nie tworzymy obiektu Matematyka. Nie piszemy więc:
Matematyka m = new Matematyka(); // błąd
Klasa statyczna a zwykła klasa
Zwykła klasa opisuje obiekty i może mieć pola oraz metody instancyjne. Klasa statyczna nie opisuje pojedynczych obiektów, tylko przechowuje elementy dostępne globalnie przez nazwę klasy.
Typowa pułapka egzaminacyjna
Poprawna cecha klasy statycznej to: może zawierać wyłącznie statyczne pola i metody. Nie jest prawdą, że nie może zawierać żadnych elementów ani że można ją dziedziczyć jak zwykłą klasę.