找回密码
 立即注册
查看: 4670|回复: 82

[脚本] 单例模式

[复制链接]
发表于 2015-2-6 18:21 | 显示全部楼层 |阅读模式
unity的设计模式中有一个模式叫单例模式 今天在蛮牛教育群讨论了一下现在我来分享一下,我们为了保证一个对象有且仅有一个,这个时候我们需要用到单例模式了,单例模式的原理思路:因为对象是new出来的,那么我们就让它不能被new出来,因为new的是构造函数对吧,所以这样我们就把构造函数设置成私有的,这样就不能new了吧,但是这时候就又出现了一个问题。我们自己也不能new了,那怎么办呢?这时候我们就需要定义一个公共的静态方法,加了静态方法之后呢,我们只能通过类名来调用它。
[code=csharp]public staticGameTable table=null;
//设置私有的构造函数,函数名和类名相同
privateGameTable(){
}
//初始化
public voidinit(){
}
//定义一个静态的公有的方法。
public staticGameTable GetInstance(){
   if(null==table){ //判断实例是否存在,如果存在就返回,如果不存在就new
     table=new GameTable();
     table.init();//类的方法中找类的属性,是不用加类名的
     }
return table;
}
publicstatic  reset(){
}[/code]

如果想要在外部进行调用的话,就可以直接

[code=csharp]GameTabletable1=GameTable.GetInstance();
table1.reset();[/code]
发表于 2017-4-3 11:55 | 显示全部楼层
很不错
发表于 2017-4-3 11:57 | 显示全部楼层
好帖就是要顶
发表于 2017-4-3 12:19 | 显示全部楼层
真心顶
发表于 2017-4-3 12:09 | 显示全部楼层
说的非常好
发表于 2017-4-3 12:11 | 显示全部楼层
很好哦
发表于 2017-6-14 14:34 | 显示全部楼层
楼主是超人
发表于 2017-6-14 14:38 | 显示全部楼层
好帖就是要顶
发表于 2017-6-14 14:48 | 显示全部楼层
顶顶多好
发表于 2017-6-14 15:03 | 显示全部楼层
说的非常好
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-12-23 20:22 , Processed in 0.120397 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表