Обычно я хочу дважды передать случайный аргумент родительскому классу.
Рассмотрим следующий пример:
import 'dart:math' as math;
class A {
double a;
double b;
A(this.a, this.b) {
if (a != b) {
print('Error');
} else {
print('Alright');
}
}
}
class B extends A {
B() : super(math.Random().nextDouble(), math.Random().nextDouble());
}
main() {
B();
}
Вот единственное решение, которое я могу придумать, но это кажется таким хакерским ... Я надеюсь, что кто-то другой может предоставить мне лучший.
import 'dart:math' as math;
class A {
double a;
double b;
A(this.a, this.b) {
if (a != b) {
print('Error');
} else {
print('Alright');
}
}
}
class B extends A {
static List<double> _c = [0];
bool uselessBool;
B() : uselessBool = random(),
super(_c[0], _c[0]);
static bool random() {
_c[0] = math.Random().nextDouble();
return true;
}
}
main() {
B();
}
То, что я мог бы существовать, было бы примерно таким (как вы сделать в python например):
import 'dart:math' as math;
class A {
double a;
double b;
A(this.a, this.b) {
if (a != b) {
print('Error');
} else {
print('Alright');
}
}
}
class B extends A {
B() {
var c = math.Random().nextDouble();
super(c, c);
}
}
main() {
B();
}