Capítulo 73. Objetos de valor simple

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Steve Freeman

Las clases que representan Objetos Valor no necesitan getters ni setters. A los desarrolladores de Java se les suele enseñar a utilizar getters para acceder a los campos, de esta forma:

public class Coordinate {
    private Latitude latitude;
    private Longitude longitude;

    public Coordinate(Latitude latitude, Longitude longitude) {
        this.latitude = latitude;
        this.longitude = longitude;
    }

    /**
     * @return the latitude of the Coordinate
     */
    public Latitude getLatitude() {
        return latitude;
    }

     /**
      * @return the longitude of the Coordinate
      */
    public Longitude getLongitude() {
        return longitude;
    }
}

System.out.println(thing.getLatitude());

La idea es que los getters encapsulen cómo se representan los valores en un objeto, proporcionando un enfoque coherente en toda una base de código. También permite protegerse contra el aliasing, por ejemplo, clonando las colecciones antes de devolverlas.

El estilo tiene su origen en los primeros días de JavaBeans, cuando había mucho interés en las herramientas gráficas que utilizaban la reflexión. También puede haber habido cierta influencia de Smalltalk (el clásico lenguaje orientado a objetos), en el que todos los campos son privados a menos que se expongan a través de un accesor; los campos ...

Get 97 cosas que todo programador Java debe saber now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.