覆盖Dart中的getter功能?

Cor*_*han 2 dart

我想在dart中声明一个字段,并且仅覆盖getter的功能,但是我不确定如何/是否可行。

class Pony {
  String ponyGreeting;
  String ponyName;
  Pony(this.ponyGreeting, this.ponyName);

  String get ponyGreeting => "$ponyGreeting I'm $ponyName!";
}
Run Code Online (Sandbox Code Playgroud)

但是,这会导致错误,因为我已经定义了“ ponyGreeting”。我不能仅仅摆脱ponyGreeting字段,因为我想使用构造函数来设置它,如果我创建了一个setter,我将不得不在某个地方设置该值,而我实际上并不需要多余的属性。

Pix*_*ant 5

您可以在getter旁边使用一个私有变量:

class Pony {
  String _ponyGreeting;
  String ponyName;
  Pony(this._ponyGreeting, this.ponyName);

  String get ponyGreeting => "$_ponyGreeting I'm $ponyName!";
}
Run Code Online (Sandbox Code Playgroud)