Unity的设计模式--单例模式,

Unity的设计模式中有一个模式叫单例模式,如果学习过cocos2d-x的同学应该知道,就像Cocos2d-x中的导演类一样,我们为了保证一个对象有且仅有一个,这个时候我们需要用到单例模式了,单例模式的原理思路:

因为对象是new出来的,那么我们就让它不能被new出来,因为new的是构造函数对吧,所以这样我们就把构造函数设置成私有的,这样就不能new了吧,但是这时候就又出现了一个问题。我们自己也不能new了,那怎么办呢?这时候我们就需要定义一个公共的静态方法,加了静态方法之后呢,我们只能通过类名来调用它。

public staticGameTable table=null;

//设置私有的构造函数函数名和类名相同

privateGameTable(){

}

//初始化

public voidinit(){

}

//定义一个静态的公有的方法。

public staticGameTable GetInstance(){

   if(null==table){ //判断实例是否存在,如果存在就返回,如果不存在就new

     table=new GameTable();

     table.init();//类的方法中找类的属性,是不用加类名的

     }

return table;

}

publicstatic  reset(){

}

-------------test.cs-------------》如果想要在外部进行调用的话,就可以直接

GameTabletable1=GameTable.GetInstance();

table1.reset();

 

你可能感兴趣的:(unity学习)