Pole statyczne

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Pole statyczne to pole klasy oznaczone słowem kluczowym static. Nie należy ono do konkretnego obiektu, lecz do samej klasy. Oznacza to, że można z niego korzystać bez tworzenia instancji klasy.

Cechy pola statycznego

  • istnieje na poziomie klasy, a nie obiektu,
  • jest współdzielone przez wszystkie obiekty danej klasy,
  • może zostać zainicjalizowane przed utworzeniem pierwszego obiektu,
  • odwołujemy się do niego zwykle przez nazwę klasy.

Przykład w C

class Licznik
{
    public static int liczbaObiektow = 0;

    public Licznik()
    {
        liczbaObiektow++;
    }
}

Console.WriteLine(Licznik.liczbaObiektow); // dostęp bez tworzenia obiektu

W przykładzie pole liczbaObiektow istnieje już na poziomie klasy Licznik. Nie trzeba pisać new Licznik(), aby uzyskać do niego dostęp.

Pole statyczne a zwykłe pole

Zwykłe pole, czyli pole instancyjne, należy do konkretnego obiektu:

class Osoba
{
    public string imie;
}

Aby użyć pola imie, trzeba utworzyć obiekt:

Osoba o = new Osoba();
o.imie = "Anna";

Ważne na egzaminie

Modyfikatory private, protected i public określają poziom dostępu do pola. Nie decydują o tym, czy pole istnieje przed utworzeniem obiektu. O tym decyduje modyfikator static.