Dart

Dart构造函数中的冒号

2023-02-07  本文已影响0人  渚清与沙白

1 初始化列表
除了调用父类构造函数之外,还可以在构造函数体执行之前初始化实例变量。每个实例变量之间使用逗号分隔。用冒号来表示初始化列表。

Point.fromJson(Map<String, double> json)
    : x = json['x']!,
      y = json['y']! {
  print('In Point.fromJson(): ($x, $y)');
}

2 命名构造函数中的 :

class ProfileMark {
  final String name;
  final DateTime start = DateTime.now();
  //构造函数
  ProfileMark(this.name);
  //命名构造函数,构造函数的名字是unnamed。冒号: 表示初始化列表,对name成员进行初始化值
  ProfileMark.unnamed() : name = '';
}

3 构造函数中的:

class Point {
  final double x;
  final double y;
  final double distanceFromOrigin;

  Point(double x, double y)
      : x = x,
        y = y,
        distanceFromOrigin = sqrt(x * x + y * y);
}
上一篇下一篇

猜你喜欢

热点阅读