X

AS3 单例类

package 
{
    /**
     * 单例类 范例
     * 在AS3里 单例类一般用 包外类 实现.(我以前也总是这样!)
     * 但不能用编译时类型检测,容易出错
     * 
     * 多申请一个包外类则
     *   既有了保外类实现单例类的优点,
     *   又可以在编译时进行类型检测,还有代码提示
     * 
     * www.lite.cn (lite3)
     * lite3@qq.com
     * qq:735486078
     * 欢迎访问我的博客 
     * 
     * @author lite3
     */    public class SingleClass 
    {
        static private var instance:SingleClass;  /* 单例类实例 */
        static public function getInstance():SingleClass
        {
            if (!instance) instance = new SingleClass(new one());

            return instance;
        }

        public function SingleClass(p:one) 
        {
            if (!p)
            {
                /**
                 * 报错后,如果捕获    则返回为 null
                 * 如果未捕获    则直接挂掉,O(∩_∩)O~
                 */                throw new Error("SingleClass不能直接new , 用静态方法 getInstance()!");
            }
        }

        // ...........
        // to do your code  
    }
}
class one { }

This post was last modified on 2019 年 03 月 04 日 01:31

This website uses cookies.