logo

Accessor és Mutator Java nyelven

Az objektum-orientált programozásban a beágyazás egy alapvető fogalom, amely egy objektum megvalósítási részleteinek elrejtésének gyakorlatára vonatkozik, és interfészt biztosít az objektum tulajdonságainak és viselkedésének eléréséhez. Az Accessor és a Mutator metódusok két fontos fogalom a Java beágyazásával kapcsolatban.

Kiegészítő

Az Accessor metódusok, más néven getter metódusok, olyan módszerek, amelyek lehetővé teszik egy objektum privát példányának változóinak értékének lekérését. Ezek a módszerek csak olvasási hozzáférést biztosítanak az objektum állapotához. Az accessor metódusok használatával biztosíthatja, hogy az objektum állapotát ne módosítsa véletlenül vagy rosszindulatúan külső kód.

Mutator

A mutátor metódusok, más néven setter metódusok, olyan módszerek, amelyek lehetővé teszik egy objektum privát példányának változóinak értékének módosítását. Ezek a módszerek csak írási hozzáférést biztosítanak az objektum állapotához. A mutátoros metódusok használatával biztosítható, hogy az objektum állapota csak vezérelt interfészen keresztül módosuljon.

Vessünk egy pillantást egy példára, hogy megértsük a Java accessor és mutator metódusainak fogalmát. Tegyük fel, hogy van egy Személy nevű osztályunk, amelynek három privát példányváltozója van: név, életkor és e-mail cím. Ezekhez a változókhoz szeretnénk hozzáférést biztosítani az accessor és a mutator módszerekkel.

 public class Person { private String name; private int age; private String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } } 

Ebben a példában három hozzáférési metódust határoztunk meg: getName(), getAge() és getEmail(), valamint három mutátor metódust: setName(), setAge() és setEmail(). Az accessor metódusok a megfelelő példányváltozó értékét adják vissza, míg a mutátor módszerek a megfelelő példányváltozó értékét állítják be.

Elnevezési

Az accessor és mutator metódusok elnevezési konvenciója fontos a Java-ban. Az Accessor metódusokat a „get” karakterrel kezdődően kell elnevezni, majd a változó nevével, az első betűvel nagybetűvel. A mutátor metódusokat úgy kell elnevezni, hogy a „set” szóval kezdődik, majd a változó nevével, az első betűvel nagybetűvel. Ez az elnevezési konvenció egyértelművé teszi, hogy az egyes metódusok mit csinálnak, és olvashatóbbá és karbantarthatóbbá teszi a kódot.

Az Accessor és a Mutátor módszerek a Java beágyazás lényeges részét képezik. Lehetővé teszik az objektum állapotához való hozzáférés szabályozását, biztosítva, hogy csak egy ellenőrzött interfészen keresztül legyen elérhető és módosítható. Az accessor és mutator metódusok elnevezési konvenciójának követésével olvashatóbbá és karbantarthatóbbá tehetjük kódját.

íme egy példaprogram, amely bemutatja az accessor és a mutator metódusok használatát Java-ban:

Person.java

 import java.util.Scanner; public class Person { private String name; private int age; private String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Person person = new Person(); System.out.print('Enter name: '); String name = scanner.nextLine(); person.setName(name); System.out.print('Enter age: '); int age = scanner.nextInt(); person.setAge(age); scanner.nextLine(); // Consume the newline character left by nextInt() System.out.print('Enter email: '); String email = scanner.nextLine(); person.setEmail(email); System.out.println('
Name: ' + person.getName()); System.out.println('Age: ' + person.getAge()); System.out.println('Email: ' + person.getEmail()); } } 

Kimenet:

 Name: Manoj Age: 21 Email: [email protected] 

Ebben a példában a fő metódus létrehozza a Person osztály új példányát, és a mutátor metódusokat (setName, setAge és setEmail) használja az objektum privát példányváltozóinak értékeinek beállításához. Ezután az accessor metódusok (getName, getAge és getEmail) a példányváltozók értékeinek lekérésére és a konzolon való megjelenítésére szolgálnak.

Az Accessor és Mutator használatának előnye

Az accessor és mutator módszerek használatának előnye, hogy lehetővé teszik számunkra, hogy érvényesítési és egyéb feldolgozási logikát adjunk hozzá egy objektum állapotának lekéréséhez és beállításához. Például hozzáadhat egy érvényesítési ellenőrzést a 'setAge(int age)' metódushoz, hogy megbizonyosodjon arról, hogy az életkor értéke egy bizonyos tartományon belül van, vagy hozzáadhat formázási logikát a 'getName()' metódushoz, hogy nagy kezdőbetűt írjon a személy neve.