我想在dart中声明一个字段,并且仅覆盖getter的功能,但是我不确定如何/是否可行。
class Pony {
String ponyGreeting;
String ponyName;
Pony(this.ponyGreeting, this.ponyName);
String get ponyGreeting => "$ponyGreeting I'm $ponyName!";
}
不过,这会导致错误,因为我已经定义了“ponyGreeting”。我不能仅仅摆脱ponyGreeting字段,因为我想使用构造函数来设置它,如果我创建了一个setter,我将不得不在某个地方设置该值,而我实际上并不需要多余的属性。
最佳答案
您可以在getter旁边使用一个私有(private)变量:
class Pony {
String _ponyGreeting;
String ponyName;
Pony(this._ponyGreeting, this.ponyName);
String get ponyGreeting => "$_ponyGreeting I'm $ponyName!";
}