Я новичок в Java, но имею некоторый опыт работы с ООП с ActionScript 3, поэтому я пытаюсь перенести, опираясь на то, что знаю.
В ActionScript 3 вы можете создавать методы получения и установки, используя ключевые слова get и set, что означает создание метода в классе и доступ к данным через свойство экземпляра этого класса. Мне может показаться сложным, но это не так. Вот пример:
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;
}
}
И я бы получил доступ к name
в объекте как:
var dummy:Dummy = new Dummy("fred");
trace(dummy.name);//prints: fred
dummy.name = "lolo";//setter
trace(dummy.name);//getter
Как бы я это сделал на Java?
Просто о некоторых открытых полях не может быть и речи.
Я заметил, что есть соглашение об использовании get и set перед методами, с которыми я согласен.
Например,
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;
}
}
Есть ли в Java эквивалентный метод получения / установки ActionScript 3, как в
доступ к закрытому полю в качестве поля из экземпляра класса, но наличие метода для реализации этого внутри класса?