logo

Pristupnik i mutator u Javi

U objektno orijentiranom programiranju, enkapsulacija je temeljni koncept koji se odnosi na praksu skrivanja detalja implementacije objekta i pružanja sučelja za pristup njegovim svojstvima i ponašanjima. Metode pristupnika i mutatora dva su važna koncepta vezana uz enkapsulaciju u Javi.

Pristupnik

Metode pristupnika, također poznate kao metode dobivanja, metode su koje vam omogućuju dohvaćanje vrijednosti varijabli privatne instance objekta. Ove metode omogućuju pristup samo za čitanje stanju objekta. Korištenjem metoda pristupa možete osigurati da vanjsko kodiranje ne modificira stanje objekta slučajno ili zlonamjerno.

Mutator

Metode mutatora, također poznate kao metode postavljača, metode su koje vam omogućuju izmjenu vrijednosti varijabli privatne instance objekta. Ove metode omogućuju pristup stanju objekta samo za pisanje. Korištenjem mutatorskih metoda možete osigurati da se stanje objekta mijenja samo putem kontroliranog sučelja.

Pogledajmo primjer kako bismo razumjeli koncept metoda pristupa i mutatora u Javi. Pretpostavimo da imamo klasu koja se zove Osoba koja ima tri privatne varijable instance: ime, dob i e-poštu. Želimo omogućiti pristup ovim varijablama pomoću metoda pristupa i mutatora.

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

U ovom smo primjeru definirali tri pristupne metode: getName(), getAge() i getEmail() i tri mutatorske metode: setName(), setAge() i setEmail(). Metode pristupnika vraćaju vrijednost odgovarajuće varijable instance, dok metode mutatora postavljaju vrijednost odgovarajuće varijable instance.

Konvencija o imenovanju

Konvencija imenovanja metoda pristupa i mutatora važna je u Javi. Metode pristupnika trebaju biti imenovane počevši s 'get' nakon čega slijedi naziv varijable, s prvim slovom velikim slovom. Metode mutatora trebaju biti imenovane počevši s 'set' nakon čega slijedi naziv varijable, s prvim slovom velikim slovom. Ova konvencija imenovanja jasno pokazuje što svaka metoda radi i čini kod čitljivijim i lakšim za održavanje.

Metode pristupnika i mutatora bitan su dio enkapsulacije u Javi. Omogućuju vam kontrolu pristupa stanju objekta, osiguravajući da mu se pristupa i mijenja samo preko kontroliranog sučelja. Slijedeći konvenciju imenovanja za pristupne i mutatorske metode, možemo vaš kod učiniti čitljivijim i lakšim za održavanje.

evo primjera programa koji demonstrira korištenje metoda pristupa i mutatora u Javi:

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

Izlaz:

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

U ovom primjeru glavna metoda stvara novu instancu klase Person i koristi metode mutatora (setName, setAge i setEmail) za postavljanje vrijednosti privatnih varijabli instance objekta. Zatim se metode pristupa (getName, getAge i getEmail) koriste za dohvaćanje vrijednosti varijabli instance i njihov prikaz na konzoli.

Prednost korištenja Accessora i Mutatora

Prednost korištenja metoda pristupa i mutatora je u tome što nam omogućuju dodavanje validacije i druge logike obrade u proces dobivanja i postavljanja stanja objekta. Na primjer, možete dodati provjeru valjanosti metodi 'setAge(int age)' kako biste osigurali da je vrijednost dobi unutar određenog raspona ili dodati logiku oblikovanja metodi 'getName()' kako biste prvo slovo slova napisali velikim slovom ime osobe.