假设我有以下 Dart 类,其构造函数中有一个命名参数:
class TestClass {
final int someValue;
TestClass({this.someValue});
}
void someMethod() {
TestClass testClass = new TestClass(someValue: 10);
print(testClass.someValue);
}
如何为该字段添加 setter/getter ?我正在尝试以下内容:
class TestClass {
final int _someValue;
TestClass({this.someValue});
int get someValue => _someValue+2;
}
最佳答案
命名参数不能是私有(private)的,但您可以使用命名参数、私有(private)成员和初始值设定项获得所需的结果。您可以在没有初始化程序的构造函数主体中执行相同的操作,但 _someValue
不能是最终的。
class TestClass {
final int _someValue;
TestClass({int someValue}) : _someValue = someValue;
int get someValue => _someValue;
}
但是,在 Dart 中这样做没有什么值(value)。没有相应 setter 的 getter 在语义上等同于 Final 字段。
关于dart - 如何向 Dart 类添加 getter,并在其构造函数上使用命名参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49603150/