Először úgy kell megterveznünk tárgyainkat, hogy legyen állapotuk és viselkedésük. Olyan magánmezőket hozunk létre, amelyek az állam és a viselkedés viselkedésének nyilvános módszereit tárolják.
Például, ha személyi objektumot tervezünk, létrehozhatunk privát mezőket az ember keresztnevének, vezetéknevének és címének tárolására. E három mező értéke kombinálja az objektum állapotát. Létrehozhatunk egy displayPersonDetails nevű módszert is, amely a keresztnév, vezetéknév és cím értékeit jeleníti meg a képernyőn.
Ezután olyan viselkedéseket kell végrehajtanunk, amelyek hozzáférnek az objektum állapotához és módosítják azt. Ez három módon valósítható meg:
Például megtervezhetjük az ember tárgyát két konstruktor módszerrel. Az első nem vesz értéket, és egyszerűen beállítja az objektum alapértelmezett állapotát (azaz a keresztnév, vezetéknév és cím üres karakterláncok lesznek). A második beállítja az keresztnév és a vezetéknév kezdeti értékeit a neki átadott értékekből. Három olyan hozzáférési módszert hozhatunk létre, amelyeket getFirstName, getLastName és getAddress-nek hívunk, amelyek egyszerűen visszaadják a megfelelő magánmezők értékét. Hozzon létre egy setAddress nevű mutátormezőt, amely beállítja a cím privát mezőjét.
Végül elrejtjük az objektumunk megvalósításának részleteit. Amíg ragaszkodunk ahhoz, hogy az állami mezőket magántulajdonban tartjuk, és a viselkedést nyilvánosnak tartjuk, a külvilágnak nincs lehetősége megismerni az objektum belső működését.