Dart类中的getter和setter修饰符允许程序分别初始化和检索类字段的值。
使用get关键字定义getter或访问器。Setter或存取器是使用set关键字定义的。
默认的getter/setter与每个类相关联。
但是,可以通过显式定义setter/getter来覆盖默认值。getter没有参数并返回一个值,setter只有一个参数但不返回值。
定义一个Rect 类,在初始化构造函数的时候可以传入宽度高度,调用area方法可以计算面积。
class Rect{
num height;
num width;
Rect(this.height,this.width);
area(){
return this.height*this.width;
}
}
void main(){
Rect r=new Rect(10,4);
print("面积:${r.area()}");
}
定义一个Rect 类,在初始化构造函数的时候可以传入宽度高度,调用areaHeight 可以设置属性的值,调用area可以获取值。具体代码如下
class Rect{
late num height;
late num width;
Rect(this.height,this.width);
get area{ //dart中定义一个getter
return this.height*this.width;
}
set areaHeight(value){ //dart中定义一个setter
this.height=value;
}
}
void main(){
Rect r=new Rect(10,4);
r.areaHeight=6; //调用setter 设置值
print(r.area); //调用getter 获取值
}