Quantcast
Channel: Cocos中文社区 - 最新帖子
Viewing all articles
Browse latest Browse all 511716

问一个TS的基础问题(单例模式基类)

$
0
0

是这样的,基类:

export default class Singleton {

    private static _instance: any = null;
    static GetInstance<T>(): T {
      if (this._instance === null) {
        this._instance = new this();
      }
      return this._instance;
    }
  
    protected constructor() {}
  }

继承

@ccclass('SnakeDataManager')
export class SnakeDataManager extends Singleton {
    static get Instance() {
        return super.GetInstance<SnakeDataManager>();
    }
    hello(){
       console.log("你好");
    }
}

调用

SnakeDataManager.Instance.hello();

刚好上周我也纠结这个扩号,之前找了第一种,函数式创建类单例,觉得代码有点多余,偶然在一个帧同步项目发现别人写的,这应该是比较少的代码行数了。


Viewing all articles
Browse latest Browse all 511716

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>