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