Смешивание инициализатора и конструктора в Dart - PullRequest
0 голосов
/ 12 января 2020

Я знаю, что вы можете инициализировать final переменные в классе с помощью чего-то вроде:

class A {
  final num x;
  final num y;
  final num d;

  A(this.x, this.y): 
    d = sqrt(pow(x, 2) + pow(y, 2));
}

И вы можете создавать обычные переменные внутри конструктора, например:

class A {
  String z;

  A(){
    z = 'hello';
  }
}

Но как вы смешиваете оба? Является ли это возможным? Какой синтаксис?

1 Ответ

0 голосов
/ 12 января 2020

Просто продолжайте конструктор сразу после инициализатора, но, поскольку вы собираетесь использовать фигурные скобки ({}), вам не следует использовать точку с запятой (;):

class A {
  final num x;
  final num y;
  final num d;
  String z;

  A(this.x, this.y) 
    : d = sqrt(pow(x, 2) + pow(y, 2))
  {
    z = 'hello';
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...