博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
unity单利模板
阅读量:6676 次
发布时间:2019-06-25

本文共 1595 字,大约阅读时间需要 5 分钟。

1、单例类只能有一个实例。

2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。

01:不继承MonoBehaviour的类实现单利

这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。
这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

class singleTemp{       //私有化类实例     private static singleTemp _instance=new singleTemp();    //让构造函数为 private,这样该类就不会被其他类实例化    private singleTemp()    {          }    //提供外界唯一可以访问类实例的方法    public static singleTemp instance    {        get        {                return _instance;        }    }    public void show()    {        Console.WriteLine("single show");    }}

02:实泛型单利模板类

public class singleTemplate
where T : new() //where T : new() 为泛型约束,确保T类型是可以被new的 {private static T _instance; //私有的T类型的静态变量public static T GetInstance() //获取实例的函数{ if (_instance == null) //判断实例是否已存在 { _instance = new T(); //不存在则创建新的实例 } return _instance; //返回实例} class test:singleTemplate
{ public void show() { Console.WriteLine("testshow"); }}

02:继承MonoBehaviour的类实现单利

public class single : MonoBehaviour{private static single _instance;     public static single instance    {        get         {        if (_instance==null)        {           _instance = GameObject.FindObjectOfType
(); } return _instance; }} }

04:继承MonoBehaviour的类实现单利模板

public  class singleTemplate
: MonoBehaviour where T : MonoBehaviour { private static T _instance; public static T instance{ get { if (_instance==null) { _instance = GameObject.FindObjectOfType
() as T; } return _instance; }}

转载地址:http://udrxo.baihongyu.com/

你可能感兴趣的文章
Ubuntu 14.04安装Nginx1.60
查看>>
aaa
查看>>
详解coredump
查看>>
神奇犁头草,治疗肿毒效如神
查看>>
linux的发行版
查看>>
PHP环境配置中遇到的各种问题解决方法: Cannot load php5apache2_2.dll into server
查看>>
我的友情链接
查看>>
无意看见的几句话
查看>>
常用Linux Shell命令组合-- 运维常用总结
查看>>
XBMC 在UBUNTU 12.04中安装及设置
查看>>
解决mac下无法剪贴、复制、粘贴问题
查看>>
Oracle运维脚本
查看>>
第1部分 Windows Server2008安装和配置
查看>>
cordova环境配置
查看>>
ORA-06553: PLS-553: character set name is not recognized, while starting Content Store
查看>>
Watches OpenCart 主题模板 ABC-0088
查看>>
linux iptables 相关应用
查看>>
Linux基础
查看>>
升级到FTK 4.0.2可免费使用可视化分析模块30天
查看>>
怎样做好DNS服务器的保护
查看>>