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.