是否有任何Dart语法使继承不再那么冗长?

时间:2019-03-27 14:55:36

标签: inheritance constructor dart

似乎Dart继承需要一堆样板。例如:

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;
}

谢谢!

0 个答案:

没有答案