Przejdź do głównej treści
  1. Strona główna
  2. Słownik
  3. INF.03
  4. Modyfikatory dostępu w programowaniu obiektowym

Modyfikatory dostępu w programowaniu obiektowym

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

Modyfikatory dostępu określają, skąd można odczytywać lub modyfikować pola oraz wywoływać metody klasy. Są ważnym elementem programowania obiektowego, ponieważ pomagają kontrolować dostęp do danych obiektu.

Najczęstsze modyfikatory

  • public — element jest dostępny z dowolnego miejsca programu, np. z innej klasy lub bezpośrednio przez obiekt.
  • private — element jest dostępny tylko wewnątrz tej samej klasy.
  • protected — element jest dostępny w tej samej klasie oraz w klasach dziedziczących.

W pytaniu egzaminacyjnym poprawną odpowiedzią jest public, ponieważ ten modyfikator oznacza dostęp publiczny.

Przykład w PHP

class Produkt {
    public $nazwa;
    private $cena;
    protected $vat;
}

$p = new Produkt();
$p->nazwa = "Monitor"; // poprawne, bo pole jest publiczne

// $p->cena = 999; // błąd, bo pole jest private
// $p->vat = 23;   // błąd poza klasą, bo pole jest protected

Po co ograniczać dostęp?

Nie wszystkie pola powinny być public. Często stosuje się private i udostępnia dane przez metody, np. gettery i settery. Dzięki temu klasa może kontrolować poprawność danych.

class Uzytkownik {
    private $wiek;

    public function ustawWiek($wiek) {
        if ($wiek >= 0) {
            $this->wiek = $wiek;
        }
    }
}

Zapamiętaj

Jeżeli pole klasy ma być dostępne z dowolnego miejsca programu, należy użyć modyfikatora public.