Soy nuevo en Java, pero tengo alguna experiencia OOP con ActionScript 3, así que estoy tratando de migrar confiando en cosas que sé.Getters/setters en Java
En ActionScript 3 puede crear getters y setters utilizando las palabras clave get y set, lo que significa que crea un método en la clase y accede a los datos a través de una propiedad de una instancia de esa clase. Puede parecer complicado, pero no lo es. He aquí un ejemplo:
class Dummy{
private var _name:String;
public function Dummy(name:String=null){
this._name = name;
}
//getter
public function get name():String{
return _name;
}
//setter
public function set name(value:String):void{
//do some validation if necessary
_name = value;
}
}
Y me gustaría acceder name
en un objeto como:
var dummy:Dummy = new Dummy("fred");
trace(dummy.name);//prints: fred
dummy.name = "lolo";//setter
trace(dummy.name);//getter
¿Cómo habría de hacerlo en Java?
Simplemente tener algunos campos públicos está fuera de la cuestión. Me he dado cuenta de que existe la convención de usar get y set en frente de los métodos, con lo que estoy de acuerdo.
Por ejemplo,
class Dummy{
String _name;
public void Dummy(){}
public void Dummy(String name){
_name = name;
}
public String getName(){
return _name;
}
public void setName(String name){
_name = name;
}
}
¿Existe un equivalente de ActionScript 3 getter/setters en Java, como en acceso a un campo privado como un campo de una instancia de la clase, pero tener un método para implementar eso internamente en la clase?
Parece que está llegando a un punto muy sensible para los programadores de Java;) – bbmud
Gracias a todos ustedes por la entrada. Me quedaré con las convenciones de Java al escribir el código de Java a partir de ahora :) En cuanto a los IDE que he probado Eclipse y NetBeans y me gustan los dos, no puedo decidirme. NetBeans tiene algunas buenas características de GUI (acaba de comprobar las muestras). Me limitaré a usar Terminal para empezar (para hacer jarras) y todo eso, al menos hasta que me ponga de pie. Opiniones de los principiantes sobre Java: yay: ¡MUCHO poder! Meh: ¿Debes hacer todo? Para entender algo grave, parece que necesitas escribir MUCHO código. –