Dart 常量构造函数

常量构造函数

如果某个类生成的对象是不可变的,这个对象会被编译为运行时常量( 具备较高的运行效率 )。我们可以通过常量构造函数来构造一个对象性。

实现方法

1 使用 final 关键字指定属性为常量属性;
2 使用 const 关键字声明构造函数为常量构造函数;
3 在实例化对象时,在类名称前面加上 const 关键字;

示例

class Person {
  final String name;
  final int age;
  const Person({required this.name, required this.age});
  void Say() {
    print("My name is ${this.name} and I am ${this.age} years old.");
  }
}

void main(List<String> args) {
  Person person1 = const Person(name: "lesscode", age: 20);
  Person person2 = const Person(name: "lesscode", age: 20);
  print(person1 == person2);
}

注意

常量构造函数默认会被当做普通构造函数使用,所以要构造一个常量对象需要在类名称前加上 const 关键字。