logo

Accessor y mutador en Java

En programación orientada a objetos, la encapsulación es un concepto fundamental que se refiere a la práctica de ocultar los detalles de implementación de un objeto y proporcionar una interfaz para acceder a sus propiedades y comportamientos. Los métodos de acceso y mutador son dos conceptos importantes relacionados con la encapsulación en Java.

Accesorio

Los métodos de acceso, también conocidos como métodos getter, son métodos que le permiten recuperar el valor de las variables de instancia privadas de un objeto. Estos métodos proporcionan acceso de solo lectura al estado del objeto. Al utilizar métodos de acceso, puede garantizar que el estado del objeto no se modifique accidental o maliciosamente mediante código externo.

mutador

Los métodos mutadores, también conocidos como métodos setter, son métodos que le permiten modificar el valor de las variables de instancia privadas de un objeto. Estos métodos proporcionan acceso de sólo escritura al estado del objeto. Al utilizar métodos mutadores, puede asegurarse de que el estado del objeto se modifique solo a través de una interfaz controlada.

Echemos un vistazo a un ejemplo para comprender el concepto de métodos de acceso y mutador en Java. Supongamos que tenemos una clase llamada Persona que tiene tres variables de instancia privadas: nombre, edad y correo electrónico. Queremos proporcionar acceso a estas variables utilizando métodos de acceso y mutador.

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

En este ejemplo, hemos definido tres métodos de acceso: getName(), getAge() y getEmail(), y tres métodos mutadores: setName(), setAge() y setEmail(). Los métodos de acceso devuelven el valor de la variable de instancia correspondiente, mientras que los métodos mutadores establecen el valor de la variable de instancia correspondiente.

Convenio de denominación

La convención de nomenclatura para los métodos de acceso y mutador es importante en Java. Los métodos de acceso deben nombrarse comenzando con 'get' seguido del nombre de la variable, con la primera letra en mayúscula. Los métodos mutadores deben nombrarse comenzando con 'set' seguido del nombre de la variable, con la primera letra en mayúscula. Esta convención de nomenclatura deja claro lo que hace cada método y hace que el código sea más legible y fácil de mantener.

Los métodos de acceso y mutación son una parte esencial de la encapsulación en Java. Le permiten controlar el acceso al estado de un objeto, asegurando que se acceda a él y se modifique únicamente a través de una interfaz controlada. Siguiendo la convención de nomenclatura para los métodos de acceso y mutación, podemos hacer que su código sea más legible y fácil de mantener.

Aquí hay un programa de ejemplo que demuestra el uso de métodos de acceso y mutador en 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()); } } 

Producción:

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

En este ejemplo, el método principal crea una nueva instancia de la clase Persona y utiliza los métodos mutadores (setName, setAge y setEmail) para establecer los valores de las variables de instancia privadas del objeto. Luego, los métodos de acceso (getName, getAge y getEmail) se utilizan para recuperar los valores de las variables de instancia y mostrarlos en la consola.

Ventaja de utilizar accesor y mutador

La ventaja de utilizar métodos de acceso y mutador es que nos permiten agregar validación y otra lógica de procesamiento al proceso de obtener y configurar el estado de un objeto. Por ejemplo, podría agregar una verificación de validación al método 'setAge(int age)' para garantizar que el valor de edad esté dentro de un rango determinado, o agregar lógica de formato al método 'getName()' para poner en mayúscula la primera letra del nombre de persona.