V objektovo orientovanom programovaní je zapuzdrenie základným konceptom, ktorý odkazuje na prax skrývania detailov implementácie objektu a poskytovania rozhrania na prístup k jeho vlastnostiam a správaniu. Metódy prístupu a mutátora sú dva dôležité koncepty súvisiace so zapuzdrením v jazyku Java.
Príslušenstvo
Metódy prístupu, známe aj ako metódy getra, sú metódy, ktoré vám umožňujú získať hodnotu premenných súkromnej inštancie objektu. Tieto metódy poskytujú prístup len na čítanie k stavu objektu. Použitím metód prístupového objektu môžete zabezpečiť, že stav objektu nebude náhodne alebo so zlým úmyslom zmenený externým kódom.
Mutátor
Metódy mutátorov, známe aj ako metódy nastavovania, sú metódy, ktoré vám umožňujú modifikovať hodnotu premenných súkromnej inštancie objektu. Tieto metódy poskytujú prístup len na zápis do stavu objektu. Použitím mutačných metód môžete zabezpečiť, aby sa stav objektu menil iba cez riadené rozhranie.
Pozrime sa na príklad, aby sme pochopili koncept metód pristupovania a mutátora v jazyku Java. Predpokladajme, že máme triedu s názvom Osoba, ktorá má tri súkromné premenné inštancie: meno, vek a e-mail. Chceme poskytnúť prístup k týmto premenným pomocou prístupových a mutačných metód.
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; } }
V tomto príklade sme definovali tri metódy prístupu: getName(), getAge() a getEmail() a tri metódy mutátora: setName(), setAge() a setEmail(). Metódy prístupového objektu vracajú hodnotu zodpovedajúcej premennej inštancie, zatiaľ čo metódy mutátora nastavujú hodnotu zodpovedajúcej premennej inštancie.
Dohovor o pomenovaní
Konvencia pomenovávania pre metódy pristupujúcich a mutátorov je v Jave dôležitá. Metódy prístupového objektu by mali byť pomenované počnúc „get“, po ktorom nasleduje názov premennej, pričom prvé písmeno je veľké. Metódy mutátorov by mali byť pomenované počnúc 'set', za ktorým nasleduje názov premennej, pričom prvé písmeno je veľké. Táto konvencia pomenovania objasňuje, čo každá metóda robí, a robí kód čitateľnejším a udržiavateľnejším.
Metódy prístupu a mutátora sú podstatnou súčasťou zapuzdrenia v jazyku Java. Umožňujú vám riadiť prístup k stavu objektu, pričom zaisťujú, že je prístupný a upravovaný iba cez riadené rozhranie. Dodržiavaním konvencie pomenovávania pre metódy prístupového objektu a mutátora môžeme urobiť váš kód čitateľnejším a udržovateľnejším.
tu je príklad programu, ktorý demonštruje použitie metód prístupu a mutátora v jazyku Java:
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()); } }
Výkon:
Name: Manoj Age: 21 Email: [email protected]
V tomto príklade hlavná metóda vytvorí novú inštanciu triedy Osoba a použije metódy mutátora (setName, setAge a setEmail) na nastavenie hodnôt premenných súkromnej inštancie objektu. Potom sa metódy prístupového objektu (getName, getAge a getEmail) použijú na získanie hodnôt premenných inštancie a ich zobrazenie na konzole.
Výhoda použitia Accessora a Mutatora
Výhodou použitia pristupujúcich a mutačných metód je, že nám umožňujú pridať validáciu a ďalšiu logiku spracovania do procesu získavania a nastavovania stavu objektu. Môžete napríklad pridať overovaciu kontrolu do metódy „setAge(int age)“, aby ste sa uistili, že hodnota veku je v určitom rozsahu, alebo pridať logiku formátovania do metódy „getName()“, aby sa prvé písmeno meno osoby.