Кажется, что для наследования дротиков требуется куча шаблонов. Например:
class A {
A({
this.x,
this.y,
this.z,
});
int x;
int y;
int z;
}
class B extends A {
B({
int x,
int y,
int z,
this.a,
this.b,
this.c,
}) : super (
x:x,
y:y,
z:z,
);
int a;
int b;
int c;
}
Это действительно лучший способ расширить классы? Если бы я продолжил расширение B, каждый новый класс должен был бы явно объявить все свои родительские поля в своем конструкторе, и с помощью D или E это было бы огромно. Кроме того, любое изменение, которое я делаю в базовом классе, необходимо будет вручную добавить к каждому дочернему элементу.
Есть ли какой-то синтаксис, который абстрагирует это? Или я должен предпочесть композицию наследованию, как:
class B {
B({
this.parent,
this.a,
this.b,
this.c,
});
A parent;
int a;
int b;
int c;
}
Спасибо!