sirve - java tiene algo similar a las propiedades de C#?
para que sirve el get y set (5)
Esta pregunta ya tiene una respuesta aquí:
Las propiedades C # (me refiero a los métodos get y set) son una característica muy útil. java tiene algo similar a las propiedades C # también. Me refiero a cómo podemos implementar algo así como el siguiente código C # en java:
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
gracias de antemano
Ha habido una propuesta para agregar compatibilidad con C # -like para propiedades (y eventos) a Java, pero parece que esto se rechaza para la próxima versión de Java (Java 7).
Ver:
Las propiedades no solo son convenientes en términos de escritura getters
y setters
encapsulados en una unidad, sino que también proporcionan una buena sintaxis en el punto de llamada.
Window.Title = "New"; //which looks natural
mientras que con getters
y setters
es usualmente
Window.setTitle("New");
No, Java no tiene la equivalencia. Solo tiene métodos de acceso y mutador, nombres sofisticados para los métodos getter y setter. Por ejemplo:
public class User {
private String name;
public String getName() { return this.name; }
public void setName(String name) { this.name = name; }
}
Podrías echarle un vistazo al Proyecto Lombok, ya que trata de aliviar el dolor al escribir el código Java de la placa de la caldera. Le permite usar anotaciones @Getter y @Setter, que proporcionarán los métodos getBlah () y setBlah ():
public class GetterSetterExample {
@Getter @Setter private int age = 10;
}
O simplemente puede usar @Data e implementará automáticamente sus métodos hashCode (), equals (), toString () y getter, junto con los setters en campos no finales:
@Data public class DataExample {
private String name;
}
Los problemas que he encontrado con el proyecto, sin embargo, son que todo es un poco vudú, lo que puede ser desagradable, y que tienes que instalar un complemento Eclipse (o lo que sea) para que funcione la compilación automática.
Puede declarar una variable privada y escribir los métodos a mano. Sin embargo, si está utilizando Eclipse, puede hacer clic en una variable, seleccionar "Fuente" y "Generar getters y setters". Esto es tan conveniente como las propiedades de C #.