Tre*_*roy 4 apache-flex actionscript flex3 actionscript-3
我很困惑:在AS3中,为什么我们保留Singleton类构造函数public
而不是private
像Java一样?如果我们保留构造函数public
,那么我们可以直接从外部访问它!
请查看此示例中的MODEL部分.
Actionscript 3不支持私有构造函数.
为了强制执行单例模式,如果已经创建了单例实例,许多开发人员会使构造函数引发异常.这将导致运行时错误,而不是编译时错误,但它确实阻止了单例的不当使用.
例:
public static var instance:MySingleton;
public MySingleton(){
if (instance != null) {
throw new Error("MySingleton is a singleton. Use MySingleton.instance");
}else {
instance = this;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2548 次 |
最近记录: |