Przejdź do treści głównej
INF.03Programowanie

Enkapsulacja / Hermetyzacja i modyfikatory dostępu

Filar OOP polegający na ukrywaniu wewnętrznego stanu obiektu przed bezpośrednim dostępem z zewnątrz i udostępnianiu kontrolowanych metod (getterów/setterów).

Modyfikatory dostępu w PHP / JS / C++:

  • public – pole lub metoda jest dostępna z dowolnego miejsca programu.
  • protected – dostęp mają wyłącznie metody tej samej klasy oraz klas pochodnych (dziedziczących).
  • private – dostęp mają wyłącznie metody tej samej klasy (klasy potomne nie mają do nich dostępu).
PHP
<?php
class KontoBankowe {
    private float $saldo = 0.0;

    public function wplac(float $kwota): void {
        if ($kwota > 0) {
            $this->saldo += $kwota;
        }
    }

    public function pobierzSaldo(): float {
        return $this->saldo;
    }
}

$konto = new KontoBankowe();
$konto->wplac(100.00);
// echo $konto->saldo; // BŁĄD FATALNY: Pole private!
echo $konto->pobierzSaldo(); // 100.00

Najczęstsze pułapki na egzaminie INF.03:

  • Zadania egzaminacyjne regularnie sprawdzają, które pola dziedziczy klasa potomna – pola protected są dostępne w klasie pochodnej, a pola private nie.

Chcesz sprawdzić to pojęcie w praktyce?

Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Enkapsulacja / Hermetyzacja i modyfikatory dostępu lub rozpocznij trening.