我已经从Random
包中复制了完整的math.dart
类,并为其指定了CustomRandom
名称,现在我不明白为什么我的代码无法正常工作。
abstract class CustomRandom {
external factory CustomRandom([int seed]);
external factory CustomRandom.secure();
int nextInt(int max);
double nextDouble();
bool nextBool();
}
我正在使用它
print("${Random().nextInt(10)}"); // standard one works
print("${CustomRandom().nextInt(10)}"); // my one fails
我知道标准类中还有其他事情在代码中不可见,但是如何使我的类正常工作?
最佳答案
您的版本不会执行任何操作,因为它没有实现。
真正的Random
类具有external factory
构造函数(其实现位于其他位置,one for the Dart VM/runtime和one for JavaScript),并且该实现实例化一个实际执行某项操作的对象。