¿Cuándo utilizar los métodos set y get en Java?
1. Flexibilidad
Por ejemplo, tenemos una clase Persona y le asignamos un nombre de propiedad, pero esperamos que al tomar el nombre, no solo se muestre el nombre. , pero genera el nombre de acuerdo con nuestros requisitos, como "Mi nombre es XX", el código es el siguiente:
¿Público? ¿clase? ¿gente? {
¿Privado? ¿Cadena? Nombre;
¿Público? ¿Cadena? obtenerNombre()? {
¿Volver? "Mi nombre es"? +?Nombre;
}
¿Público? ¿Vacío? setName(¿Cadena? Nombre)? {
¿Este nombre? =?Name;
}
}Como se muestra en el código anterior, en el futuro solo necesitamos definir un objeto persona, darle setName(XX), y cuando obtengamos getName, me mostrará Su nombre es XX.
2.
Por ejemplo, cuando nuestro sistema operativo crea un nuevo usuario o disfruta de un archivo en * * * *, a menudo le preguntará cuáles son los permisos de un usuario, ya sean de solo lectura, de solo escritura o de escritura. lectura-escritura. Leer y escribir aquí es como get/set.
Para una clase, si public define directamente un atributo sin utilizar el método set/get, entonces este atributo se puede leer y escribir. Si desea que las propiedades de una clase sean legibles pero no escribibles, no basta con definir una propiedad con public, sino que podemos definir la propiedad con private y luego definir un método get, pero no definimos un método set. para lograr esto. Por el contrario, definir set pero no get significa que la propiedad es de solo escritura y no se puede leer. Por ejemplo, el siguiente código:
¿Público? ¿clase? ¿círculo? {
¿Privado? ¿Doble? Radio;
¿Privado? ¿Doble? ¿grupo? =?3.14;
¿Público? ¿Doble? obtenerPai()? {
¿Volver? pai
}
¿Público? ¿Vacío? setRadius(¿doble? radio)? {
¿Este radio? =?Radio;
}
/**?
*? ¿Calcular el perímetro?
*/
¿Público? ¿Doble? obtenerC()? {
¿Volver? 2 * pai * radio;
}
} Definimos una clase de círculo y definimos los atributos radio y pai. Solo proporciono un método para escribir el radio, no para leer, mientras que pai solo proporciona lectura, no escritura, y proporciona un método para calcular el perímetro getC. En proyectos reales, al diseñar algunas clases, un diseño riguroso debe considerar qué clases son de solo lectura y cuáles son de solo escritura.