logo

Accessor a mutator v Javě

V objektově orientovaném programování je zapouzdření základním konceptem, který odkazuje na praxi skrývání implementačních detailů objektu a poskytování rozhraní pro přístup k jeho vlastnostem a chování. Metody přístupu a mutátorů jsou dva důležité koncepty související se zapouzdřením v Javě.

Accessor

Metody přístupového objektu, známé také jako metody získávání, jsou metody, které umožňují načíst hodnotu proměnných privátní instance objektu. Tyto metody poskytují přístup ke stavu objektu pouze pro čtení. Pomocí metod přístupového objektu můžete zajistit, že stav objektu nebude náhodně nebo úmyslně změněn externím kódem.

Mutátor

Mutátorové metody, známé také jako metody setter, jsou metody, které umožňují upravit hodnotu proměnných privátní instance objektu. Tyto metody poskytují přístup ke stavu objektu pouze pro zápis. Použitím mutátorových metod můžete zajistit, že se stav objektu změní pouze prostřednictvím řízeného rozhraní.

Podívejme se na příklad, abychom pochopili koncept přístupových a mutačních metod v Javě. Předpokládejme, že máme třídu s názvem Osoba, která má tři soukromé proměnné instance: jméno, věk a e-mail. Chceme poskytnout přístup k těmto proměnným pomocí přístupových a mutačních metod.

 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 příkladu jsme definovali tři metody přístupového objektu: getName(), getAge() a getEmail() a tři metody mutátoru: setName(), setAge() a setEmail(). Metody přístupového objektu vracejí hodnotu odpovídající proměnné instance, zatímco metody mutátoru nastavují hodnotu odpovídající proměnné instance.

Konvence pojmenování

V Javě je důležitá konvence pojmenování pro přístupové a mutační metody. Metody přístupového objektu by měly být pojmenovány počínaje 'get' následovaným názvem proměnné, přičemž první písmeno je velké. Metody mutátorů by měly být pojmenovány počínaje 'set' následovaným názvem proměnné, přičemž první písmeno je velké. Tato konvence pojmenování objasňuje, co každá metoda dělá, a činí kód čitelnějším a lépe udržovatelným.

Metody přístupu a mutátorů jsou nezbytnou součástí zapouzdření v Javě. Umožňují vám řídit přístup ke stavu objektu a zajistit, že je přístupný a upravovaný pouze prostřednictvím řízeného rozhraní. Dodržováním konvence pojmenování pro metody přístupového objektu a mutátoru můžeme váš kód učinit čitelnějším a udržovatelnějším.

zde je příklad programu, který demonstruje použití přístupových a mutátorových metod v Javě:

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ýstup:

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

V tomto příkladu metoda main vytvoří novou instanci třídy Person a použije metody mutátoru (setName, setAge a setEmail) k nastavení hodnot proměnných soukromé instance objektu. Poté se metody přístupového objektu (getName, getAge a getEmail) použijí k načtení hodnot proměnných instance a jejich zobrazení na konzole.

Výhoda použití Accessoru a Mutatoru

Výhodou použití přístupových a mutačních metod je, že nám umožňují přidat validaci a další logiku zpracování do procesu získávání a nastavení stavu objektu. Můžete například přidat kontrolu ověření do metody 'setAge(int age)', abyste zajistili, že hodnota věku je v určitém rozsahu, nebo přidat logiku formátování do metody 'getName()', aby bylo první písmeno znaku velké. jméno osoby.