Egret中的三种单例写法
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
Egret中的三种单例写法相关推荐
- android 源码中的单例,Android源码中的一种单例实现
单例模式的实现方式有懒汉,饿汉,双重校验锁,枚举,内部类等等,写法就不全部列举了.Android源码中有一个单例辅助类/frameworks/base/core/java/android/util/S ...
- haproxy中acl的与或非三种規則写法
haproxy中acl的与或非三种規則写法 当我们在haproxy里面需要使用use_backend或http-request等语句去调用定义过的acl规则时,可以跟平时写程序一样,使用与,或,非三种 ...
- .net core 注入中的三种模式:Singleton、Scoped 和 Transient
从上篇内容不如题的文章<.net core 并发下的线程安全问题>扩展认识.net core注入中的三种模式:Singleton.Scoped 和 Transient 我们都知道在 Sta ...
- python选择语句是什么语句_Python语言中的三种选择语句
本文将详细介绍Python语言中的三种选择语句:if语句,if/else语句和if/elif/else语句.对于每种语句,我们都提供了相应的流程图.与此同时,我们给出许多简单的示例程序,以帮助读者加深 ...
- iOS严谨单例写法/可继承单例
单例模式在iOS开发中可能算是最常用的模式之一了,但是由于OC本身的语言特性,想要写一个正确的单例模式相对来说比较麻烦. 今天就来说一说, 单例创建的方式和严谨的单例写法及可继承单例编写. 基本单例的 ...
- 另一鲜为人知的单例写法-ThreadLocal
另一鲜为人知的单例写法-ThreadLocal 源代码范例 当我阅读FocusFinder和Choreographer的时候,我发现这两类的单例实现和我们寻经常使用双重检查锁非常不一样.而是用来一个T ...
- linq拼接where语句_C# 10. LINQ 的三种查询语句写法
C# 10. LINQ 的三种查询语句写法 前言: LINQ(语言集成查询)是 C#编程语言中的一部分.它在.NET Framework 3.5 和 C#3.0 被引入,在 System.Linq 命 ...
- Plotly中绘制三种经典的股票交易图表(含视频讲解)
作者:Lemon 来源:Python数据之道 Plotly中绘制三种经典的 股票交易图表(含视频讲解) 大家好,我是 Lemon . 背景 前一段时间, Lemon 发了一期视频,分享了 Plotly ...
- UiPath中的三种输入法
UiPath中的三种输入法: 1.Hardware Events(default):分析实现技术,以click为例,先将鼠标移动到目标元素上,然后出发鼠标事件或者win32API的 SendInput ...
- 流程控制中的三种结构
流程控制中的三种结构分别为顺序.分支.循环三种结构. 一.顺序结构 二.分支结构 1.if双路条件结构 if (条件表达式) {语句序列1 } else {语句序列2 } 2.if单路条件结构 if ...
最新文章
- spring boot一:入门
- python 网格交易源码下载_GitHub - xiongyixiaoyang/grid-trading: 网格交易(期货) ,基于网格交易方法的交易策略...
- layer调用父页面方法_Ruby for SketchUp之图层【Layer】
- 途牛 “特产频道”上线 深化目的地服务网络
- python多重继承_Python多重继承
- keepalived详解(一)——keepalived理论基础
- Dubbo扩展点机制分析(二)
- 计算机主机装机注意,自己组装电脑要注意什么?DIY老司机教你装机注意事项 (全文)...
- Python的常用Matplotlib图形工具
- 关于二进制与十进制互转的方法(简单好学!)
- Ribbon常用配置
- 为什么传统的验证码不再安全
- Data requirement
- HTML+CSS+VUE 简易的便签
- 运行webdriver时启动不了浏览器
- Word在试图打开文件时遇到错误。 请尝试下列方法: 检查文档或驱动器的文件权限。 确保有足够的内存和磁盘空间。 用文本恢复转换器打开文件。
- 【超详细】嵌入式软件学习大纲
- 东北大学软件项目管理与过程改进复习提纲(2020)——第十一章《项目风险管理》
- AnyConnect win10安装
- 青龙面板快手极速版教程第二弹
热门文章
- What's New in Qt 5.5 5.4,以及5.5 所有module
- [转]人像识别是个伪命题
- jquery计算两个日期天数差
- BZOJ 4754 [JSOI2016]独特的树叶 | 树哈希判同构
- sequence to sequence模型
- Shell之根据关键字符串替换文件中的行
- 20160403_C++初始化列表与赋值
- PHP上传图片重命名6种方案
- 深入浅出SharePoint2010——请假系统无代码篇之工作流设计
- RichTextBox中插入图片