我是 Java 新手,但有一些使用 ActionScript 3 的 OOP 经验,因此我尝试依靠我所知道的内容进行迁移。
在 ActionScript 3 中,您可以使用 get 和 set 关键字创建 getter 和 setter,这意味着您可以在类中创建方法并通过该类实例的属性访问数据。我可能听起来很复杂,但事实并非如此。这是一个例子:
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 getter/setter 等效的方法,如
访问私有字段作为类实例的字段,但有一个在类内部实现该字段的方法?
没有。 AS3 getter 和 setter 是 ECMAScript 的东西。在 Java 中,您只能使用 getVal() 和 setVal() 风格的函数——没有任何语法糖可以让事情变得简单。
我认为 Eclipse 可以帮助自动生成这些类型的东西......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)