Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 如何重写此构造函数以使用内部静态值计算类字段?_Dart - Fatal编程技术网

Dart 如何重写此构造函数以使用内部静态值计算类字段?

Dart 如何重写此构造函数以使用内部静态值计算类字段?,dart,Dart,如何更改此构造函数,使链接成为\u主机+链接 class Profile { static final String _host = 'http://github.com'; Profile(this.link, this.id, this.photo); final link; final id; final photo; @override String toString() { return '$link, $id, $photo'; } }

如何更改此构造函数,使
链接
成为
\u主机+链接

class Profile {
  static final String _host = 'http://github.com';

  Profile(this.link, this.id, this.photo);

  final link;
  final id;
  final photo;

  @override
  String toString() {
    return '$link, $id, $photo';
  }
}
因为:

链接是最终的,不能将其指定给任何其他值。您最好的选择是这样做:

class Profile {
  static final String _host = 'http://github.com';

  Profile(String path, this.id, this.photo) :
    link = _host + path;

  final link;
  final id;
  final photo;

  @override
  String toString() {
    return '$link, $id, $photo';
  }
}

Profile(字符串链接,this.id,this.photo):link=\u host+link没有必要重命名构造函数的参数。我同意技术上不需要它。然而,从可读性的角度来看,我发现在构造函数中命名一个变量并立即更改其值很奇怪。我认为最好选择一个不同的名字。
class Profile {
  static final String _host = 'http://github.com';

  Profile(String path, this.id, this.photo) :
    link = _host + path;

  final link;
  final id;
  final photo;

  @override
  String toString() {
    return '$link, $id, $photo';
  }
}