面试题答案
一键面试class Singleton {
private static instance: Singleton;
// 私有化构造函数,防止外部实例化
private constructor() {}
// 静态方法用于获取单例实例
public static getInstance(): Singleton {
if (!Singleton.instance) {
Singleton.instance = new Singleton();
}
return Singleton.instance;
}
// 普通的实例方法用于打印信息
public printInfo(): void {
console.log('这是单例类的实例方法打印的信息');
}
}
你可以使用以下方式调用:
// 获取单例实例
const singleton1 = Singleton.getInstance();
singleton1.printInfo();
const singleton2 = Singleton.getInstance();
singleton2.printInfo();
// 验证两个实例是否相同
console.log(singleton1 === singleton2);