logo

„Java“ priedas ir mutatorius

Objektiniame programavime inkapsuliavimas yra pagrindinė sąvoka, nurodanti praktiką paslėpti objekto įgyvendinimo detales ir suteikti sąsają, leidžiančią pasiekti jo savybes ir elgesį. Prieigos ir mutatoriaus metodai yra dvi svarbios sąvokos, susijusios su „Java“ kapsuliavimu.

Priedas

Prieigos metodai, taip pat žinomi kaip geterio metodai, yra metodai, leidžiantys gauti objekto privačių egzempliorių kintamųjų vertę. Šie metodai suteikia tik skaitymo prieigą prie objekto būsenos. Naudodami prieigos metodus galite užtikrinti, kad objekto būsena nebūtų netyčia ar piktybiškai pakeista išorinio kodo.

Mutatorius

Mutatorių metodai, taip pat žinomi kaip nustatymo metodai, yra metodai, leidžiantys modifikuoti objekto privačių egzempliorių kintamųjų vertę. Šie metodai suteikia tik rašymo prieigą prie objekto būsenos. Naudodami mutatoriaus metodus galite užtikrinti, kad objekto būsena būtų modifikuojama tik per valdomą sąsają.

Pažvelkime į pavyzdį, kad suprastume „Java“ prieigos ir mutatoriaus metodų sąvoką. Tarkime, kad turime klasę Asmuo, kuri turi tris privačius egzempliorių kintamuosius: vardą, amžių ir el. Norime suteikti prieigą prie šių kintamųjų naudodami prieigos ir mutatoriaus metodus.

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

Šiame pavyzdyje apibrėžėme tris prieigos metodus: getName(), getAge() ir getEmail() ir tris mutatoriaus metodus: setName(), setAge() ir setEmail(). Prieigos metodai grąžina atitinkamo egzemplioriaus kintamojo reikšmę, o mutatoriaus metodai nustato atitinkamo egzemplioriaus kintamojo reikšmę.

Įvardijimo konvencija

„Java“ svarbi yra prieigos ir mutatoriaus metodų pavadinimų suteikimo taisyklė. Prieigos metodai turėtų būti pavadinti pradedant „get“, po kurio nurodomas kintamojo pavadinimas, o pirmoji raidė rašoma didžiosiomis. Mutatorių metodai turėtų būti pavadinti pradedant „set“, po kurio nurodomas kintamojo pavadinimas, o pirmoji raidė rašoma didžiosiomis. Ši pavadinimų suteikimo taisyklė leidžia aiškiai suprasti, ką daro kiekvienas metodas, ir daro kodą lengviau skaitomą ir prižiūrimą.

Prieigos ir mutatoriaus metodai yra esminė „Java“ inkapsuliavimo dalis. Jie leidžia valdyti prieigą prie objekto būsenos, užtikrinant, kad jis būtų pasiekiamas ir modifikuojamas tik per valdomą sąsają. Laikydamiesi prieigos ir mutatoriaus metodų pavadinimų suteikimo, galime padaryti jūsų kodą skaitomesnį ir lengviau prižiūrimą.

Štai programos pavyzdys, rodantis prieigos ir mutatoriaus metodų naudojimą Java:

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

Išvestis:

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

Šiame pavyzdyje pagrindinis metodas sukuria naują Asmens klasės egzempliorių ir naudoja mutatoriaus metodus (setName, setAge ir setEmail), kad nustatytų objekto privačių egzempliorių kintamųjų reikšmes. Tada priedų metodai (getName, getAge ir getEmail) naudojami egzempliorių kintamųjų reikšmėms gauti ir rodyti jas konsolėje.

Privalumas naudojant priedą ir mutatorių

Prieigos ir mutatoriaus metodų naudojimo pranašumas yra tas, kad jie leidžia mums pridėti patvirtinimo ir kitą apdorojimo logiką prie objekto būsenos gavimo ir nustatymo. Pavyzdžiui, galite pridėti patvirtinimo patikrą prie metodo „setAge(int age)“, kad įsitikintumėte, jog amžiaus reikšmė yra tam tikrame diapazone, arba pridėti formatavimo logiką prie metodo „getName()“, kad pirmoji raidė būtų rašoma didžiosiomis. asmens vardas.