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.00Najczęstsze pułapki na egzaminie INF.03:
- Zadania egzaminacyjne regularnie sprawdzają, które pola dziedziczy klasa potomna – pola
protectedsą dostępne w klasie pochodnej, a polaprivatenie.
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.