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;
    }
}


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow