Szukaj…
Ukrywanie informacji
Stan obiektu w danym momencie jest reprezentowany przez informacje, które posiada w tym momencie. W języku OO stan jest implementowany jako zmienne składowe.
W odpowiednio zaprojektowanym obiekcie stan można zmienić tylko za pomocą wywołań jego metod, a nie przez bezpośrednią manipulację jego zmiennymi składowymi. Osiąga się to poprzez dostarczenie metod publicznych, które działają na wartościach zmiennych prywatnych członków. Ukrywanie informacji w ten sposób jest znane jako enkapsulacja .
Dlatego enkapsulacja zapewnia, że prywatne informacje nie są ujawniane i nie można ich modyfikować inaczej niż poprzez połączenia z odpowiednio akcesoriami i metodami.
W poniższym przykładzie nie można ustawić, aby Animal nie było już głodne, zmieniając hungry pole prywatne; zamiast tego musisz wywołać metodę eat() , która zmienia stan Animal , ustawiając hungry flagę na false .
public class Animal {
private boolean hungry;
public boolean isHungry() {
return this.hungry;
}
public void eat() {
this.hungry = false;
}
}