Az érvényesítés egyik módja adat beágyazás csatlakozók és mutátorok használatával történik. A hozzáférők és a mutátorok szerepe az objektum állapotának visszaadása és beállítása. Tanuljuk meg, hogyan programozhatjuk a hozzáféréseket és a mutánsokat Jáva. Példaként a Személyosztály a már meghatározott állammal és kivitelezővel:
Hozzáférési módszerek
egy tartozék metódust használnak egy privát mező értékének visszaadására. Ez egy elnevezési sémát követi, amely előzi a "get" szót a módszer nevének elejére. Például adjunk hozzá hozzáférési módszereket a keresztnévhez, a köznévhez és a vezetéknévhez:
Ezek a módszerek mindig ugyanazt az adattípust adják vissza, mint a megfelelő privát mező (például String), majd egyszerűen visszaadják a magán mező értékét.
Most egy személy objektum módszerével érhetjük el értéküket:
Mutátor módszerek
A mutátor módszer használatával állíthatja be a privát mező értékét. Ez egy elnevezési sémát követi, amely előzi a "set" szót a módszer nevének elejére. Például, adjunk hozzá mutátormezőket a címhez és a felhasználónévhez:
Ezeknek a módszereknek nincs visszatérési típusa, és olyan paramétert fogadnak el, amely megegyezik a megfelelő magánmezővel. A paramétert ezután a privát mező értékének beállításához használják.
Most módosíthatja a cím és a felhasználó értékét a Személy objektumban:
Miért érdemes használni a hozzáféréseket és a mutátorokat?
Könnyű arra a következtetésre jutni, hogy megváltoztathatjuk az osztálydefiníció privát mezőit nyilvánosnak és ugyanazokat az eredményeket érhetjük el. Fontos megjegyezni, hogy a tárgy adatait lehetőleg elrejteni akarjuk. Az extra ütköző ezeknek a módszereknek a segítségével:
- Megváltoztathatja az adatok kezelését a színfalak mögött.
- Érvényesítse azokat az értékeket, amelyekre a mezők vannak beállítva.
Tegyük fel, hogy úgy döntünk, hogy módosítottuk a középnevek tárolásának módját. Egyetlen karakterlánc helyett most már egy sor karakterláncot használhatunk:
Az objektumon belüli megvalósítás megváltozott, de a külvilágot ez nem érinti. A módszerek megnevezése pontosan ugyanaz:
Vagy mondjuk, hogy a Személy objektumot használó alkalmazás csak azokat a felhasználóneveket tudja elfogadni, amelyek legfeljebb tíz karakterből állnak. Felvehetünk érvényesítést a setUsername mutátorba, hogy megbizonyosodjunk arról, hogy a felhasználónév megfelel-e ennek a követelménynek:
Most, ha a setUsername mutátornak átadott felhasználónév tíz karakternél hosszabb, akkor az automatikusan csonkolódik.