首先,我一魄前端。对于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>{};
添加回答
举报
0/150
提交
取消