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.