AS3.0 设计模式学习-单例模式Singleton
今天在做游戏的时候,需要用到单例模式,所以在这做一些笔记,不管大家有啥感想都请留下您宝贝的意见 :-)
先看段代码
package com
{
public class MyClass
{
static private var _instanse:MyClass;
private function MyClass()
{
}
public static function getInstanse():MyClass
{
if(MyClass._instanse==null)
{
_instanse=new MyClass();
}
return _instanse;
}
public var myArr:Array=new Array();
}
}
使用方法:
import com;
private function test():void
{
MyClass.getInstanse().myArr.push(”Test String”);
}
下面,是需要注意的点:
1、_instanse:这个是类的实例(必须声明为static),在内存空间中可以保证此类只有这么一个类。同时也就保证了对象中的属性在内存空间中也是唯一的。
2、private: 构造方法让其private,杜绝了使用new进行实例化。
3、static:必须保证getInstanse()这个方法是静态的。不然会出错。
4、new Array(); 如果类中的属性中有非基本类型(int,string,float等)外的属性,切记要声明对象。
Attention:因为AS不支持多线程,所以不需要考虑多线程的问题,但是如果在C#这样的支持多线程的语言,要注意不要多线程冲突。
适用范围:
一般用于保存系统的配置信息。需要在不同的类中调用,且信息是唯一的。






}
}
浙公网安备 33010602011771号