Objektorientētajā programmēšanā iekapsulēšana ir pamatjēdziens, kas attiecas uz praksi slēpt objekta ieviešanas detaļas un nodrošināt saskarni, lai piekļūtu tā īpašībām un uzvedībai. Piekļuves un mutācijas metodes ir divi svarīgi jēdzieni, kas saistīti ar iekapsulēšanu Java.
Piederums
Piekļuves metodes, kas pazīstamas arī kā getter metodes, ir metodes, kas ļauj izgūt objekta privātās instances mainīgo vērtību. Šīs metodes nodrošina tikai lasīšanas piekļuvi objekta stāvoklim. Izmantojot piekļuves metodes, varat nodrošināt, lai ārējais kods nejauši vai ļaunprātīgi nemodificētu objekta stāvokli.
Mutators
Mutatoru metodes, kas pazīstamas arī kā iestatītāju metodes, ir metodes, kas ļauj mainīt objekta privātās instances mainīgo vērtību. Šīs metodes nodrošina tikai rakstīšanas piekļuvi objekta stāvoklim. Izmantojot mutācijas metodes, jūs varat nodrošināt, ka objekta stāvoklis tiek mainīts tikai ar kontrolētu interfeisu.
Apskatīsim piemēru, lai izprastu Java piekļuves un mutatora metožu jēdzienu. Pieņemsim, ka mums ir klase Persona, kurai ir trīs privātās instances mainīgie: vārds, vecums un e-pasts. Mēs vēlamies nodrošināt piekļuvi šiem mainīgajiem, izmantojot piekļuves un mutatora metodes.
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; } }
Šajā piemērā esam definējuši trīs piekļuves metodes: getName(), getAge() un getEmail() un trīs mutācijas metodes: setName(), setAge() un setEmail(). Piekļuves metodes atgriež atbilstošā instances mainīgā vērtību, savukārt mutora metodes nosaka atbilstošā instances mainīgā vērtību.
Nosaukšanas konvencija
Java ir svarīga piekļuves un mutatora metožu nosaukumu piešķiršanas kārtība. Piekļuves metodes jānosauc, sākot ar “get”, kam seko mainīgā nosaukums, pirmo burtu rakstot ar lielo burtu. Mutatoru metodes jānosauc, sākot ar “set”, kam seko mainīgā nosaukums, pirmo burtu rakstot ar lielo burtu. Šī nosaukšanas metode skaidri parāda, ko katra metode dara, un padara kodu lasāmāku un uzturējamāku.
Accessor un mutator metodes ir būtiska Java iekapsulēšanas sastāvdaļa. Tie ļauj kontrolēt piekļuvi objekta stāvoklim, nodrošinot, ka tam var piekļūt un to mainīt tikai caur kontrolētu saskarni. Ievērojot piekļuves un mutatora metožu nosaukumu piešķiršanas principus, mēs varam padarīt jūsu kodu lasāmāku un apkopējamāku.
Šeit ir programmas piemērs, kas demonstrē piekļuves un mutatora metožu izmantošanu Java:
Person.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()); } }
Izvade:
Name: Manoj Age: 21 Email: [email protected]
Šajā piemērā galvenā metode izveido jaunu Person klases instanci un izmanto mutācijas metodes (setName, setAge un setEmail), lai iestatītu objekta privātās instances mainīgo vērtības. Pēc tam tiek izmantotas piekļuves metodes (getName, getAge un getEmail), lai izgūtu instances mainīgo vērtības un parādītu tās konsolē.
Accessor un Mutator izmantošanas priekšrocības
Piekļuvēju un mutatoru metožu izmantošanas priekšrocība ir tā, ka tās ļauj objekta stāvokļa iegūšanas un iestatīšanas procesam pievienot validāciju un citu apstrādes loģiku. Piemēram, varat pievienot validācijas pārbaudi metodei “setAge(int age)”, lai nodrošinātu, ka vecuma vērtība ir noteiktā diapazonā, vai pievienot formatēšanas loģiku metodei “getName()”, lai rakstītu lielo burtu personas vārds.