Mamy klasę KontoBankowe. Nie powinno się tak zdarzyć, że stan konta mógłby być modyfikowany przez zwykłe odwołanie się do danej saldo (np.: mojeKonto.saldo = 123;). Tu saldo konta bankowego jest daną prywatną (dostęp jest private), do której dostęp mają tylko funkcje zaprzyjaźnione lub funkcje składowe (wewnętrzne) (tu: podajStanKonta, wplac i wyplac). Powinno się zapewnić maksymalne bezpieczeństwo w odniesieniu do danej saldo. Stąd też metoda TypPieniedzy podajStanKonta() jest oznaczona jako const, wartość kwoty w metodach bool wplac( const TypPieniedzy kwota ) i bool wyplac( const TypPieniedzy kwota ) jest określona również jako const, aby jej wartość nie została „przypadkiem” zmieniona w trakcie działania tych metod.
Hermetyzacja ma też na celu sprawdzanie poprawności wpisywanych danych, np. czy pozwolić użytkownikowi wpłacić na konto kwotę mającą wartość ujemną?
Lepiej oddaje rzeczywistość Przykład powyższy obrazuje wykonywane na koncie bankowym operacje atomowe identyfikowane nazwami odpowiednimi do wykonywanej operacji, podczas gdy samo odwoływanie się w sposób bezpośredni do salda jako pewnej zmiennej nie dawałoby odwzorowania rzeczywistości reprezentowanej przez tę zmienną.
Przypisy
Kategoria:Programowanie obiektowe