我有一个与 Dart Null Safety 概念相关的问题。
想象一下,我有一个名为Bird的课程
class Bird{
Object character;
Bird();
}
和鸽子
class Pigeon extends Bird{
String name;
Pigeon();
}
现在,由于 Dart 上的 Null Safety,必须实例化角色对象。我想在构造函数中实例化它,因为我希望鸟类可以使用 Mockito 进行测试。
但是,当我写这篇
class Bird{
late Object character;
Bird(this.character);
}
Pigeon 类显示错误,因为Bird 类没有任何零参数构造函数。
我的解决方法是使用这样的不需要的参数。
class Bird{
late Object character;
Bird({Object? character}) : this.character= character ?? GetIt.I<Object>();;
}
但是,我不喜欢 GetIt 部分作为我的默认值。此外,另一个程序员可能认为这是一个可选参数,因为我没有将它标记为必需,这可能会导致错误。
那么,解决这种情况的最佳实践是什么?