第一节:泛型在单例游戏基类中的简单运用

第一节:泛型在单例游戏基类中的简单运用

运用知识点

 

泛型:单例模式


 

作用:

减少单例模式重复代码的书写


具体实例

这是使用泛型前的代码

public class Test 
{
    void Main()
    {
        GameManager.GetInstance();
        GameManager.GetInstance();
    }
}
public class GameManager
{
    private static GameManager instance;
​
    public static GameManager GetInstance()
    {
        if(instance == null)
        {
            instance = new GameManager();
        }
        return instance;
    }
}
public class ObjectManager
{
    private static ObjectManager instance;
​
    public static ObjectManager GetInstance()
    {
        if (instance == null)
        {
            instance = new ObjectManager();
        }
        return instance;
    }
}

运用泛型的单例模式基类

public class Test
{
    void Main()
    {
        GameManager.GetInstance();
        ObjectManager.GetInstance();
    }
}
    
​
public class BaseManager<T > where T:new()
{
    private static T instance;
​
    public static T GetInstance()
    {
        if (instance == null)
        {
            instance = new T();
        }
        return instance;
    }
​
}
public class GameManager: BaseManager<GameManager>
{
}
public class ObjectManager:BaseManager<ObjectManager>
{
}

两者实现效果相同

原文地址:https://www.cnblogs.com/wei1349/p/12707211.html