Hermetyzacja (enkapsulacja)
Założenie: Zbudujemy klasę reprezentującą konto bankowe, w której saldo będzie dostępne tylko poprzez metody getSaldo()
i setSaldo()
, demonstrując tym samym zasadę hermetyzacji.
Krok po kroku:
- Definicja klasy
KontoBankowe
: Tworzymy klasę z prywatną właściwością$saldo
i publicznymi metodamigetSaldo()
isetSaldo()
. - Utworzenie obiektu klasy
KontoBankowe
: Tworzymy obiekt klasyKontoBankowe
, przekazując początkowe saldo. - Dostęp do salda za pomocą metody
getSaldo()
: Wyświetlamy aktualne saldo konta. - Zmiana salda za pomocą metody
setSaldo()
: Wpłacamy 500 zł na konto. - Próba ustawienia ujemnego salda: Próbujemy ustawić ujemne saldo, aby zobaczyć działanie mechanizmu zabezpieczającego.
saldo = $saldo;
}
public function getSaldo() {
return $this->saldo;
}
public function setSaldo($kwota) {
if ($kwota >= 0) {
$this->saldo = $kwota;
} else {
echo "Błąd: Kwota nie może być ujemna.
";
}
}
}
?>
getSaldo() . " zł
";
?>
setSaldo($konto->getSaldo() + 500);
echo "Saldo po wpłacie: " . $konto->getSaldo() . " zł
";
?>
setSaldo(-100);
echo "Saldo po próbie ustawienia ujemnej kwoty: " . $konto->getSaldo() . " zł
";
?>
Ten przykład pokazuje podstawy hermetyzacji w PHP. Zachęcamy do dalszego zgłębiania tematu programowania obiektowego!