logo

Tilbehør og mutator i Java

I objektorientert programmering er innkapsling et grunnleggende konsept som refererer til praksisen med å skjule implementeringsdetaljene til et objekt og gi et grensesnitt for å få tilgang til dets egenskaper og atferd. Accessor- og mutatormetoder er to viktige konsepter knyttet til innkapsling i Java.

Tilbehør

Accessor-metoder, også kjent som getter-metoder, er metoder som lar deg hente verdien av et objekts private forekomstvariabler. Disse metodene gir skrivebeskyttet tilgang til objektets tilstand. Ved å bruke tilgangsmetoder kan du sikre at objektets tilstand ikke endres ved et uhell eller ondsinnet av ekstern kode.

Mutator

Mutatormetoder, også kjent som settermetoder, er metoder som lar deg endre verdien av et objekts private forekomstvariabler. Disse metodene gir bare skrivetilgang til objektets tilstand. Ved å bruke mutatormetoder kan du sikre at objektets tilstand kun endres gjennom et kontrollert grensesnitt.

La oss ta en titt på et eksempel for å forstå konseptet med accessor- og mutatormetoder i Java. Anta at vi har en klasse kalt Person som har tre private forekomstvariabler: navn, alder og e-post. Vi ønsker å gi tilgang til disse variablene ved hjelp av aksessor- og mutatormetoder.

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

I dette eksemplet har vi definert tre tilgangsmetoder: getName(), getAge() og getEmail(), og tre mutatormetoder: setName(), setAge() og setEmail(). Accessormetodene returnerer verdien til den tilsvarende forekomstvariabelen, mens mutatormetodene setter verdien til den tilsvarende forekomstvariabelen.

Navnekonvensjon

Navnekonvensjonen for tilgangs- og mutatormetoder er viktig i Java. Tilbehørsmetoder bør navngis som starter med 'get' etterfulgt av navnet på variabelen, med den første bokstaven stor. Mutatormetoder bør navngis som starter med 'sett' etterfulgt av navnet på variabelen, med den første bokstaven stor. Denne navnekonvensjonen gjør det klart hva hver metode gjør og gjør koden mer lesbar og vedlikeholdbar.

Accessor- og mutatormetoder er en viktig del av innkapsling i Java. De lar deg kontrollere tilgangen til et objekts tilstand, og sørger for at det bare er tilgjengelig og endret gjennom et kontrollert grensesnitt. Ved å følge navnekonvensjonen for tilgangs- og mutatormetoder kan vi gjøre koden din mer lesbar og vedlikeholdbar.

her er et eksempelprogram som demonstrerer bruken av accessor- og mutatormetoder i 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()); } } 

Produksjon:

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

I dette eksemplet oppretter hovedmetoden en ny forekomst av Person-klassen og bruker mutatormetodene (setName, setAge og setEmail) for å angi verdiene til objektets private forekomstvariabler. Deretter brukes tilgangsmetodene (getName, getAge og getEmail) for å hente verdiene til forekomstvariablene og vise dem på konsollen.

Fordel med å bruke Accessor og Mutator

Fordelen med å bruke accessor- og mutatormetoder er at de lar oss legge til validering og annen prosesseringslogikk til prosessen med å hente og sette et objekts tilstand. Du kan for eksempel legge til en valideringssjekk til 'setAge(int age)'-metoden for å sikre at aldersverdien er innenfor et visst område, eller legge til formateringslogikk til 'getName()'-metoden for å bruke stor bokstav i den første bokstaven i personens navn.