zoukankan      html  css  js  c++  java
  • egret中三种单利的写法。

    1 普通的单例写法

    缺点:每个单例类里都要写instance和getInstance。

    class Single{
         private static instance:Single;
         public static getInstance():Single{
                if(this.instance == null){
                        this.instance = new Single();
                }
                return this.instance;
         }
         public run(){
     
         }
    }
    //使用
    Single.getInstance().run();

    2 Module写法

    优点:不需要使用getInstance,调用更简单

    缺点:外部不能直接调用属性,只能调用方法

    module Single {
        var name:string = "Test2";
        
        export function run(){
            console.log(name);
        }
    }
    
    //使用
    Single.run();

     3 继承BaseClass

    优点:继承后不用写instance和getInstance。

    缺点:getInstance()返回值是any!!导致无法用"."号访问其public属性和方法。

    class BaseClass {
        public static getInstance():any {
            var Class:any = this;
            if (!Class._instance) {
                    Class._instance = new Class();
            }
            return Class._instance;
        }
    }
    
    class Single extends BaseClass{
            public run(){
            }
    }
    
    //使用
    Single.getInstance().run();
  • 相关阅读:
    4.14打印特殊图案
    4.13十进制/二进制转换器
    4.12程序运行时间
    4.11 计算文件的大小
    4.10文件的读写
    4.9位运算
    CyclicBarrier
    tar 命令
    MySQL 常用函数介绍
    mysql 表转 java 实体 sql
  • 原文地址:https://www.cnblogs.com/dujunfeng/p/10594389.html
Copyright © 2011-2022 走看看