Flex中的单例类

时间:2010-02-07 15:02:50

标签: flex actionscript-3

我知道单例类不支持Flex.Because因为它不访问私有构造函数。

但是我想让一个类是单例类。请任何人都可以用例子来解释。

谢谢, 拉维

1 个答案:

答案 0 :(得分:2)

单例是一个只创建一个实例的类。该实例将由程序中的所有其他代码共享。

ActionScript不支持严格意义上的单例,因为构造函数不能标记为 private 。因此,可以在程序的其他地方创建该类的其他实例。通过以下技巧,您可以确保构造函数仅由单例类本身调用:

package {

public final class Singleton {

    private static var instance:Singleton = new Singleton();

    public function Singleton() {
        if( Singleton.instance ) {
            throw new Error( 
                "Singleton and can only be accessed through Singleton.getInstance()" ); 
        }
    }

    public static function getInstance():Singleton {                        
        return Singleton.instance;
    }
}
}