Flutter Dart编程是否需要getter和setter?

Flutter Dart编程是否需要getter和setter?,flutter,dart,Flutter,Dart,我曾经在Kotlin编程很长一段时间。 我对Dart编程相当陌生 所以我想知道在Dart编程中需要getter和setter。 (在getter和setter没有逻辑的情况下,纯getter和setter) 我的IDE是VSCode。当我试图查看特定变量的设置位置并得到=>时,我使用了“查找所有引用”。此函数显示set和get的混合。 正因为如此,我认真考虑把每一个领域设置和吸气剂。 当我使用Kotlin时,该语言自动生成getter和setter。IDE为我提供了单独的get/set引用。 对

我曾经在Kotlin编程很长一段时间。 我对Dart编程相当陌生

所以我想知道在Dart编程中需要getter和setter。 (在getter和setter没有逻辑的情况下,纯getter和setter)

我的IDE是VSCode。当我试图查看特定变量的设置位置并得到=>时,我使用了“查找所有引用”。此函数显示set和get的混合。 正因为如此,我认真考虑把每一个领域设置和吸气剂。 当我使用Kotlin时,该语言自动生成getter和setter。IDE为我提供了单独的get/set引用。 对我来说,制作每一个getter setter都是一个烦人的过程

使用IDE查看set/get的独立引用有什么好方法吗? 或者使用getter和setter还有其他原因吗? (在getter和setter没有逻辑的情况下,纯getter和setter)

类显示常量{
双statusbarHeight=0;
双设备比例=1;
}
vs

类显示常量{
双_statusbarHeight=0;
双设备比例=1;
双重获取statusbarHeight=>\u statusbarHeight;
设置statusbarHeight(双statusbarHeight)=>
_statusbarHeight=statusbarHeight;
double get devicePixelRatio=>\u devicePixelRatio;
设置devicePixelRatio(双devicePixelRatio)=>
_devicePixelRatio=devicePixelRatio;
}

使用getter/setter是可选的。它在某些情况下可能很有用,例如,当您获取数据时需要添加额外的逻辑时

class DisplayConstant {
  //make your variables private using _ at the beginning
  double _factor = 0.5;
  double _statusbarHeight = 0;
  double _devicePixelRatio = 1;

  double get statusbarHeight => _statusbarHeight * _factor;
  double get devicePixelRatio => _devicePixelRatio * _factor;
  set statusbarHeight(double statusbarHeight) => _statusbarHeight = statusbarHeight;
  set devicePixelRatio(double devicePixelRatio) =>_devicePixelRatio = devicePixelRatio;
}
使用setter和getter对类的用户是透明的。这使您能够在不破坏现有用户的情况下随时间发展API,如下所示:

final display = DisplayConstant();
//set your data
display.statusbarHeight = 20;
display.devicePixelRatio = 0.5;
//get your data
print(display.statusbarHeight);
print(display.devicePixelRatio);
如果您不打算在获取属性时添加一些逻辑,那么可以避免get/set并直接调用该属性


您可以在这个链接中找到更多信息:

请参阅-他们说:
“使用getter和setter,您可以从实例变量开始,然后使用方法包装它们,所有这些都不需要更改客户端代码。”
“所有都不需要更改客户端代码”这太棒了。谢谢@pskink当然,你的欢迎是有意义的。以后当我需要处理逻辑时,我可以随时添加它们。谢谢你的解释和链接