Posted on 2011-05-31 11:21
zuora 阅读(87)
评论(0) 编辑 收藏
Field与property都属于面向对象方法学中的属于——“状态”,与“行为”相对。
Field 又称为域,instance level
field又称为成员变量;class
level field又称为静态变量;
Property 又称为属性,instance level称为成员属性,class level
properties称为静态属性。
Note: Apex Using Static Properties
When a property is declared as
static, the property's accessor methods execute in a static context. This means
that the accessors do not have access to non-static member variables defined in
the class.
在Java, Action Script或者Apex编程语言中,属性(Property)会以不同样式的Getter或Setter形式存在。
如在Java中,Property定义方式遵照JavaBean的命名规范如下:
public int getWidth() {
return this.measuredWidth;
}
public void setWidth(int width) {
this.explictWidth = width;
invalidteProperties();
} |
在Action
Script中,Property可以定义如下:
public function get width():Integer {
return this.measuredWidth;
}
public function set width(var width:Integer):void {
this.explictWidth = width;
invalidteProperties();
} |
在Apex中,Property定义如下:
public Integer width {
get {
return this.measuredWidth;
}
set {
this.explictWidth = width;
invalidteProperties();
}
} |
在Java编程中对属性值的设置,通常通过调用Setter完成,如下:
...
object.setWidth(10);
...
|
而在Action Script或者Apex编程语言中,可以通过对属性名称直接赋值完成,如下:
上述一次赋值操作将导致调用一次width的setter方法。
给出Property的Sample Code是为了让初学者更清楚Field与Property的区别与联系。