Método get y set en Java

Por deborah lee soltesz
Método get y set en Java
pancarte image by Pauline Decroix from Fotolia.com

Java es un lenguaje de programación orientado a objetos (POO). El código orientado a objetos se organiza mediante una construcción llamada "clase", que sirve como modelo para la creación de un "objeto". Un objeto es una colección de propiedades (variables miembro) y comportamientos (métodos). Por lo general, las variables miembro son privadas y sólo pueden accederse por el objeto que las contiene. Los métodos "get" y "set", también llamados "getters" y "setters", son métodos especiales que interactúan con las variables miembro privadas.

Funcionamiento

Los métodos getters y setters, o métodos de "acceso", proporcionan acceso a las propiedades de un objeto. Un método get devuelve el valor de una propiedad de un objeto. Un método get tiene un tipo de retorno que se relaciona con el tipo de variable miembro asociada. Los métodos get generalmente no toma ningún parámetro. Un método set tiene un tipo de retorno "void" y toma un parámetro del tipo adecuado para asignar a la variable miembro asociada.

Convenciones

Los métodos de acceso son utilizados por los objetos externos y por lo tanto se declaran como métodos "públicos" (externamente visible). La convención aceptada es la de nombrar métodos get y set para la variable de miembro asociada (por ejemplo, "getName" y "setName", asociado a la variable "nombre"), con el prefijo "get" o "set". No todas las variables miembro pueden tener métodos de acceso asociados. Estos métodos se escriben solamente para los valores que se deben acceder externamente.

Propósito

Restringir el acceso a las variables miembro de un objeto es parte de una práctica conocida como "encapsulación". La encapsulación compartimentaliza los componentes de un objeto, ocultando la implementación (trabajo interno) del objeto que no hace falta ser visible externamente, y la protege los datos internos de modificaciones sin permiso. Los métodos de acceso pueden realizar cálculos, validaciones u otras acciones que serían evitadas haciendo las variables miembro directamente accesibles.

Beneficios

La protección de las variables miembro que utiliza métodos de acceso permite a los programadores modificar fácilmente el código interno sin cambiar la forma en que se utiliza la clase por otros. Esto evita la necesidad de realizar cambios de código a través de una aplicación cuando una clase se modifica. Los getters pueden realizar cálculos y acciones necesarios para producir un valor, minimizando la cantidad de código externo necesario para utilizar el valor. Los setters pueden realizar validación y prevenir errores causados ​​por variables miembro que establecen valores no válidos.

Consideraciones

Agregar métodos de acceso a una clase se debe hacer de forma conservadora. Sólo las variables miembro que requieren acceso externo debe tener métodos de acceso. Las propiedades que sólo deben ser modificadas por el funcionamiento interno no necesitan setters. Las propiedades que no tienen relevancia externa no debe tener getters. Esta práctica minimiza la exposición de la implementación de un objeto, y protege a las propiedades de modificaciones que podrían introducir errores de ejecución. Entre menos métodos públicos hay, es más fácil mantener el código.