博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Egret中的三种单例写法
阅读量:5102 次
发布时间:2019-06-13

本文共 1000 字,大约阅读时间需要 3 分钟。

1 普通的单例写法

as3中也是这么个写法。

缺点:每个单例类里都要写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写法。仿照的Egret中Res资源类写法。

优点:不需要使用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();

 

 

转载于:https://www.cnblogs.com/gamedaybyday/p/6060424.html

你可能感兴趣的文章
需求分析与建模最佳实践
查看>>
Django REST framework+Vue 打造生鲜超市(九)
查看>>
Flask快速入门
查看>>
毕业设计之进销存管理系统 —— 一步步搭建自己的框架及系统
查看>>
VS 文件编码
查看>>
highcharts
查看>>
畅通工程再续
查看>>
物联网技术在工业领域的主要应用
查看>>
脚本故事 - 2003年11月
查看>>
C#中out和ref之间的区别
查看>>
js获取html5 audio 音频时长方法
查看>>
C语言 · 判断回文
查看>>
分享一款在线less转css的神器
查看>>
pandas把'<m8[ns]'类型转换为int类型进行运算
查看>>
判断一个字符串(str)是否以指定的字符串(target)结尾。 如果是,返回true;如果不是,返回false。...
查看>>
控制台编程基础总结
查看>>
Guava CaseFormat
查看>>
第一个C#程序
查看>>
第六次作业-----抽奖系统
查看>>
Message讲解
查看>>