Dart类中的getter和setter


Dart类中的getter和setter修饰符允许程序分别初始化和检索类字段的值。

 

使用get关键字定义getter或访问器。Setter或存取器是使用set关键字定义的。

默认的getter/setter与每个类相关联。

但是,可以通过显式定义setter/getter来覆盖默认值。getter没有参数并返回一个值,setter只有一个参数但不返回值。

 

Dart不使用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()}");   
}

 

Dart中使用getter和setter修饰符的例子

定义一个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 获取值

}