dart中几种特殊的构造方法

常量构造方法

常量构造方法的参数必须都是final声明。

class ConstantDemo {
  final String name;
  final int age;

  const ConstantDemo(this.name, this.age);
}

工厂构造方法

类似于工厂设计模式,可以在构造函数中返回实例对象。

class Logger {
  final String name;

  static final Map<String, Logger> _caches = <String, Logger>{};

  factory Logger(String name) {
    if (_caches.containsKey(name)) {
      return _caches[name];
    } else {
      final logger = Logger._internal(name);
      _caches[name] = logger;
      return logger;
    }
  }

  Logger._internal(this.name);
}
如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注