Wyodrębnianie interfejsu w językach bez hermetyzacji W językach w których nie istnieje mechanizm hermetyzacji (np. Python, C) stosuje się wyznaczanie interfejsu poprzez konwencję nazewnictwa, tj. składowe prywatne lub chronione mają specjalny przedrostek nazwy, np. ich nazwy zaczynają się od podkreślnika. Używanie metod wewnętrznych wiąże się z ryzykiem wywołania nieprawidłowego stanu programu, co może prowadzić do awarii.
Uodparnia tworzony model na błędy Hermetyzacja uodparnia tworzony model na błędy polegające np. na błędnym przypisywaniu wartości oraz umożliwia wykonanie czynności pomocniczych (jak np. pobranie z konta 10% wypłacanej kwoty jako prowizji) lub obsługę sytuacji wyjątkowej (np. brak wymaganych środków).
Przykład w C++:
typedef double TypPieniedzy;
class KontoBankowe { public: KontoBankowe( const TypPieniedzy saldoPoczatkowe = 0 );
bool wplac( const TypPieniedzy kwota ); bool wyplac( const TypPieniedzy kwota );
TypPieniedzy podajStanKonta() const; private: TypPieniedzy saldo;
KontoBankowe::KontoBankowe( const TypPieniedzy saldoPoczatkowe ) : saldo( saldoPoczatkowe )
bool KontoBankowe::wplac( const TypPieniedzy kwota ) { if ( kwota > 0 ) { saldo += kwota; return true;