Czym są kwalifikatory dostępu?
Kwalifikatory dostępu określają widoczność pól i metod w klasach. Najczęściej spotykane kwalifikatory to private, protected i public.
Są one elementem programowania obiektowego i wspierają mechanizm hermetyzacji, czyli ukrywania danych obiektu oraz kontrolowania dostępu do nich.
public
Element oznaczony jako public jest dostępny z każdego miejsca programu.
public function pokaz(): void {
echo 'Widoczna metoda';
}
private
Element private jest dostępny tylko wewnątrz tej samej klasy. Nie można odwołać się do niego bezpośrednio z zewnątrz ani z klasy potomnej.
private string $haslo;
protected
Element protected jest dostępny wewnątrz klasy, w której został zdefiniowany, oraz w klasach dziedziczących.
protected int $id;
Dlaczego to ważne?
Dzięki kwalifikatorom dostępu programista może zdecydować, które elementy klasy mają być dostępne publicznie, a które powinny pozostać ukryte. Zapobiega to przypadkowemu naruszeniu stanu obiektu.
W pytaniach egzaminacyjnych private, protected i public należy kojarzyć przede wszystkim z hermetyzacją / enkapsulacją.