Dart 对象初始化列表

初始化列表介绍

作用 : 在构造函数中设置属性的默认值。
时机 : 在构造函数体执行之前执行。
语法 : 构造函数 () : 使用逗号分隔的初始化赋值表达式。
场景 : 常用于设置 final 常量的值。

示例

class Person {
  final String name;
  final int age;
  Person()
      : this.name = "John",
        this.age = 25;

  void Say() {
    print("My name is ${this.name} and I am ${this.age} years old.");
  }
}

void main(List<String> args) {
  Person person = Person();
  person.Say();
}

初始化列表的特殊用法 (重定向构造函数)

class Point {
  num x, y, z;
  Point(this.x, this.y, this.z);
  // (重定向构造函数
  Point.xy(num x, num y) : this(x, y, 0);
}

void main(List<String> args) {
  Point p = Point.xy(1, 2);
  print(p.x);
  print(p.y);
  print(p.z);
}