Modyfikatory dostępu

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Czym są modyfikatory dostępu?

Modyfikatory dostępu określają, skąd można korzystać z pól i metod klasy. Są ważnym elementem programowania obiektowego, ponieważ pozwalają kontrolować widoczność danych i zachowanie obiektu.

Najczęściej spotykane modyfikatory to:

  • public - dostęp z każdego miejsca programu,
  • private - dostęp tylko wewnątrz tej samej klasy,
  • protected - dostęp wewnątrz tej samej klasy oraz w klasach pochodnych.

Przykład w PHP

class Produkt {
    public string $nazwa;
    private float $cenaZakupu;
    protected float $rabat;

    public function ustawCeneZakupu(float $cena): void {
        if ($cena > 0) {
            $this->cenaZakupu = $cena;
        }
    }
}

W tym przykładzie pole $nazwa jest publiczne, więc można odwołać się do niego spoza klasy. Pole $cenaZakupu jest prywatne i powinno być obsługiwane tylko przez metody klasy. Pole $rabat jest chronione, więc może być używane także w klasach dziedziczących po klasie Produkt.

Związek z hermetyzacją

Modyfikatory dostępu są narzędziem do realizowania hermetyzacji. Dzięki nim programista decyduje, które elementy klasy są częścią interfejsu publicznego, a które są szczegółami wewnętrznymi.

Najważniejsze do zapamiętania

Jeżeli pole lub metoda ma być używana tylko w danej klasie, należy zastosować private. Jeżeli ma być dostępna również w klasach potomnych, stosuje się protected. Elementy przeznaczone do użycia z zewnątrz oznacza się jako public.