Red de conocimiento informático - Material del sitio web - ¿Cuándo utilizar los métodos set y get en Java?

¿Cuándo utilizar los métodos set y get en Java?

Una ventaja de get() y set() es cuando escribes. Obtener (.Set), se pueden mostrar todas las propiedades. Todas las configuraciones están resumidas para un fácil uso externo.

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.