Przejdź do głównej treści
  1. Strona główna
  2. Słownik
  3. INF.04
  4. Klasa statyczna

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ę.