首先,我一魄前端。对于dart的一些代码看不懂,求大佬解释下。(在别人博文里面看到的),关于工厂构造函数的。
class Logger { final String name; bool mute = false; // 变量前加下划线表示私有属性 static final Map<String, Logger> _cache = <String, Logger>{}; factory Logger(String name) { if (_cache.containsKey(name)) { return _cache[name]; } else { final logger = new Logger._internal(name); _cache[name] = logger; return logger; } } Logger._internal(this.name); void log(String msg) { if (!mute) { print(msg); } } } var logger = new Logger('UI'); logger.log('Button clicked');// 重点是这一句static final Map<String, Logger> _cache = <String, Logger>{};
人到中年有点甜
相关分类