Sök…
Information döljer
Objektets tillstånd vid en viss tidpunkt representeras av den information som det har vid den punkten. På ett OO-språk implementeras staten som medlemsvariabler.
I ett korrekt utformat objekt kan tillståndet endast ändras med hjälp av samtal till dess metoder och inte genom direkt manipulation av dess medlemsvariabler. Detta uppnås genom att tillhandahålla offentliga metoder som arbetar med värdena för privata medlemsvariabler. Dölja information på detta sätt kallas inkapsling .
Därför säkerställer inkapsling att privat information inte exponeras och inte kan ändras förutom genom samtal till accessorer respektive metoder.
I följande exempel kan du inte ställa in ett Animal att inte längre är hungrig genom att ändra det hungry privata fältet; Istället måste du anropa metoden eat() , som ändrar tillståndet hos den Animal genom att ställa in hungry flaggan till false .
public class Animal {
private boolean hungry;
public boolean isHungry() {
return this.hungry;
}
public void eat() {
this.hungry = false;
}
}