logo

Аццессор и Мутатор у Јави

У објектно оријентисаном програмирању, енкапсулација је основни концепт који се односи на праксу скривања детаља имплементације објекта и обезбеђивања интерфејса за приступ његовим својствима и понашањима. Методе приступа и мутатора су два важна концепта везана за инкапсулацију у Јави.

Аццессор

Методе приступа, познате и као методе добијања, су методе које вам омогућавају да преузмете вредност варијабли приватне инстанце објекта. Ове методе обезбеђују приступ само за читање стању објекта. Коришћењем метода приступа, можете осигурати да спољни код не мења случајно или злонамерно стање објекта.

Мутатор

Методе мутатора, познате и као методе постављања, су методе које вам омогућавају да измените вредност варијабли приватне инстанце објекта. Ове методе обезбеђују приступ само за писање стању објекта. Коришћењем метода мутатора, можете осигурати да се стање објекта мења само преко контролисаног интерфејса.

Хајде да погледамо пример да бисмо разумели концепт метода приступа и мутатора у Јави. Претпоставимо да имамо класу под називом Персон која има три приватне променљиве инстанце: име, старост и емаил. Желимо да обезбедимо приступ овим променљивим помоћу метода приступа и мутатора.

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

У овом примеру смо дефинисали три методе приступа: гетНаме(), гетАге() и гетЕмаил(), и три методе мутатора: сетНаме(), сетАге() и сетЕмаил(). Методе приступа враћају вредност одговарајуће променљиве инстанце, док методе мутатора постављају вредност одговарајуће променљиве инстанце.

Именовање конвенција

Конвенција именовања метода приступа и мутатора је важна у Јави. Методе приступника треба да буду именоване почевши са 'гет' праћеним именом променљиве, са првим словом великим. Методе мутатора треба да буду именоване почевши са 'сет' праћеним именом променљиве, са првим словом великим. Ова конвенција о именовању јасно даје до знања шта свака метода ради и чини код читљивијим и лакшим за одржавање.

Методе приступа и мутатора су суштински део енкапсулације у Јави. Они вам омогућавају да контролишете приступ стању објекта, обезбеђујући да му се приступа и мења само преко контролисаног интерфејса. Пратећи конвенцију о именовању метода приступа и мутатора, можемо учинити ваш код читљивијим и одржаваним.

ево примера програма који демонстрира употребу метода приступа и мутатора у Јави:

Персон.јава

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

Излаз:

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

У овом примеру, главни метод креира нову инстанцу класе Персон и користи методе мутатора (сетНаме, сетАге и сетЕмаил) за постављање вредности приватних променљивих инстанце објекта. Затим се методе приступа (гетНаме, гетАге и гетЕмаил) користе за преузимање вредности променљивих инстанце и њихово приказивање на конзоли.

Предност коришћења Аццессор и Мутатор

Предност коришћења метода приступа и мутатора је у томе што нам омогућавају да додамо валидацију и другу логику обраде у процес добијања и подешавања стања објекта. На пример, можете да додате проверу ваљаности методи 'сетАге(инт аге)' да бисте били сигурни да је вредност старости унутар одређеног опсега или да додате логику обликовања методи 'гетНаме()' да бисте прво слово име особе.