Kapselung bedeutet, Daten und die Methoden, die darauf operieren, in einer Einheit (einer Klasse) zu bündeln und den internen Zustand hinter einer kontrollierten öffentlichen Schnittstelle zu verbergen. Aufrufer interagieren über Methoden, nicht durch direkten Zugriff auf rohe Felder.
Warum Zustand verbergen
Wenn jeder ein Feld direkt ändern kann, können Sie nicht garantieren, dass das Objekt gültig bleibt. Kapselung ermöglicht es der Klasse, ihre eigenen Invarianten durchzusetzen.
{
balance;
{
(amount <= )
();
(amount > balance)
();
balance -= amount;
}
{ balance; }
}
