【发布时间】:2020-01-02 19:02:38
【问题描述】:
我需要继承单例类并覆盖它的方法。打字稿有可能吗?或在打字稿中实现此类场景的任何其他方式。
// 父类
export class SFSCommands {
static instance: SFSCommands;
protected constructor() {
if (SFSCommands.instance) {
return SFSCommands.instance;
}
setInterval(() => {
this.initSfsCommands('sss');
}, 2000);
}
static getInstance() {
if (!SFSCommands.instance) {
SFSCommands.instance = new SFSCommands();
}
return SFSCommands.instance;
}
initSfsCommands(e: any) {
console.log('comming in service');
}
}
//**** 子类 ***********
import { SFSCommands } from '../utility/sfscommands';
export abstract class GameModel extends SFSCommands {
roomName: string;
constructor() {
super();
console.log(this);
}
// called from child whien game component inisilized
initSfsCommands(event: any) {
console.log('game model');
}
}
我从我的 app.component.ts 文件中调用 SFSCommands.getInstance()
【问题讨论】:
-
试用过的代码会更有帮助!
-
@Sandeep 看看这个链接typescriptlang.org/docs/handbook/classes.html
-
单例类是什么意思?
-
@Ludevik 单例类意味着我们只初始化了一次类内存,之后我们共享同一个实例。
-
所以您的意思是在根模块中提供的单例服务,并且您只想覆盖该服务的一种方法,对吧?
标签: typescript singleton