Hermetyzacja klas
Hermetyzacja klas jest jednym z podstawowych mechanizmów programowania obiektowego i polega na tym, że klasa zawiera jedynie publiczne metody i właściwości, które udostępniają interfejs dla innych elementów programu, podczas gdy szczegóły implementacji pozostają ukryte. Dzięki temu inne elementy programu nie mają bezpośredniego dostępu do wewnętrznych składowych klasy, co ogranicza możliwość błędów i ułatwia utrzymanie kodu.
W języku C# hermetyzację można osiągnąć za pomocą modyfikatorów dostępu,
takich jak private
protected
public
class MojaKlasa
{
private int myPrivateField;
protected int myProtectedField;
public int myPublicField;
private void MyPrivateMethod() // Moja prywatna Metoda
{
// ...
}
protected void MyProtectedMethod() // Moja chroniona Metoda
{
// ...
}
public void MyPublicMethod() // Moja publiczna Metoda
{
// ...
}
}
W powyższym przykładzie, myPrivateField jest prywatnym polem klasy i dostępny tylko dla tej samej klasy, myProtectedField jest chronionym polem i dostępne tylko dla tej samej klasy i klas pochodnych, myPublicField jest publicznym polem i dostępny dla wszystkich elementów programu.
Dzięki hermetyzacji klas, możemy zabezpieczyć składowe klasy przed nieprawidłowym dostępem lub modyfikacją oraz utrzymać integralność danych. Ograniczenie dostępu do prywatnych składowych oznacza, że tylko metody wewnątrz klasy mogą je odczytywać lub zmieniać, co zwiększa kontrolę nad danymi i pozwala na uniknięcie niezamierzonych błędów.
class KontoBankowe
{
private decimal saldo;
public decimal zobaczSaldo()
{
return saldo;
}
public void Wplac(decimal kwota)
{
saldo += kwota;
}
public void Wyplac(decimal kwota)
{
saldo -= kwota;
}
}
W powyższym przykładzie, klasa BankAccount posiada prywatne pole balance, które przechowuje stan konta. Klasa udostępnia publiczne metody GetBalance, Deposit i Withdraw, które pozwalają na odczytanie stanu konta, dokonanie wpłaty lub wypłaty środków. Dzięki hermetyzacji, pole balance jest chronione przed bezpośrednim dostępem z zewnątrz, co zwiększa bezpieczeństwo danych i pozwala na uniknięcie niezamierzonych błędów.