通常情况下,在没有泛型单例这个概念之前,我们如果需要使一个形成一个单例,通常情况下就会有以下代码:
public class SceneStateManager{
private static SceneStateManager _Instance; //私有化构造器
public static SceneStateManager GetInstance() //能被类调用并且返回类类型的方法GetInstance()
{
if(_Instance == null)
{
_Instance = new SceneStateManager( );
}
return _Instance;
}
}
然后我们在另外的类中通过SceneStateManager.GetInstance()就得到了SceneStateManager这样一个类中唯一的对象—对象_Instance。如果是这样,在开发过程中,每次你想生成单例,都需要重复以上代码过程,这样很麻烦。我们引入泛型的概念,写一个抽象类的脚本。当其他的类只要继承这个类,就可以自动形成一个单例。