Есть ли синтаксис Dart, чтобы сделать наследование менее многословным? - PullRequest
0 голосов
/ 27 марта 2019

Кажется, что для наследования дротиков требуется куча шаблонов. Например:

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

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...