Modyfikator protected

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

Co oznacza protected?

protected to modyfikator dostępu używany w programowaniu obiektowym. Oznacza, że dany składnik klasy, np. pole, właściwość lub metoda, jest dostępny:

  • wewnątrz klasy, w której został zdefiniowany,
  • w klasach potomnych, czyli klasach dziedziczących po tej klasie.

Nie jest natomiast dostępny swobodnie z zewnątrz obiektu, tak jak element public.

Przykład

class Pojazd
{
    protected int predkosc;
}

class Samochod : Pojazd
{
    public void UstawPredkosc(int wartosc)
    {
        predkosc = wartosc; // dostęp do pola protected z klasy potomnej
    }
}

W przykładzie pole predkosc nie jest publiczne, ale klasa Samochod może z niego korzystać, ponieważ dziedziczy po klasie Pojazd.

Różnica względem innych modyfikatorów

  • public — dostęp z każdego miejsca programu,
  • private — dostęp tylko wewnątrz tej samej klasy,
  • protected — dostęp w tej samej klasie oraz w klasach potomnych,
  • static — nie określa poziomu dostępu, tylko informuje, że element należy do klasy, a nie do konkretnego obiektu.

Znaczenie na egzaminie

Jeśli pytanie mówi o dostępie wyłącznie w obrębie klasy oraz jej klas potomnych, poprawną odpowiedzią jest protected.