// https://gist.github.com/theburningmonk/6401183#gistcomment-2903680
class MyClass {
num instanceVar;
static num start;
static final MyClass _singleton = new MyClass._internal();
factory MyClass(num startparam) {
start = startparam;
return _singleton;
}
MyClass._internal() {
if (instanceVar == null) {
instanceVar = start;
} else {
instanceVar++;
}
}
// rest of the class
}
main() {
// consuming code
MyClass myObj1 = MyClass(1); // get back the singleton
print('myObj1=${myObj1.instanceVar}');
// another piece of consuming code
MyClass myObj2 = MyClass(2); // still getting back the singleton
print('myObj2=${myObj2.instanceVar}');
}
【Dart】工厂构造函数实现单例模式并传参
猜你喜欢
转载自www.cnblogs.com/teemwu/p/12716171.html
今日推荐
周排行