📜  dart getter - Dart (1)

📅  最后修改于: 2023-12-03 15:14:35.994000             🧑  作者: Mango

Dart Getter

在 Dart 中,Getter 是一种特殊类型的函数,可以用来读取对象的属性值。Getter 的关键字是 get,用法与函数类似,但不需要在调用时加上括号。

定义一个 Getter
class Person {
  String _name;
  
  String get name => _name;
}

上面的例子中,我们定义了一个 Person 类,并在其中定义了一个 name 的 getter。注意到我们在定义属性 _name 时,使用了下划线开头,这是 Dart 的命名约定,表示这个属性是私有的,只能在类内部使用。

我们可以使用以下方式来使用该 Getter:

void main() {
  var person = Person();
  person._name = 'Tom';
  print(person.name); // 输出 'Tom'
}
在 Getter 中计算属性值

Getter 不仅可以简单地返回属性值,还可以在返回前进行其他操作。

class Circle {
  double _radius;
  
  double get diameter => _radius * 2;
  
  double get area => _radius * _radius * 3.14;
}

上面的例子中,我们定义了一个 Circle 类,并在其中定义了两个 Getter,分别计算圆的直径和面积。对于这两个 Getter,它们不需要进行参数的传递,只需要读取类中的 _radius 属性即可。

我们可以使用以下方式来使用这两个 Getter:

void main() {
  var circle = Circle();
  circle._radius = 5;
  print(circle.diameter); // 输出 10
  print(circle.area); // 输出 78.5
}
总结

Getter 是 Dart 中用于读取对象属性的一种特殊类型的函数,使用 get 关键字进行定义。Getter 可以简单地返回属性值,也可以对返回前进行其他操作。在使用 Getter 时,我们需要注意保持命名约定,以便写出更加优雅的代码。