转载 http://www.xici.net/main.asp?url=/u5854060/d96745532.htm
单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例。
特点:
1,一个类只能有一个实例
2,自己创建这个实例
3,整个系统都要使用这个实例
方式一:直接在构造函数里赋_instance值
package
{
public class MyClass
{
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private 只供内部调用
private static var _instance:MyClass;
public function MyClass()
{
_instance = this;
}
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static function getInstance():MyClass
{
return _instance;
}
}
}
方式二:常用的在getInstance()里根据需要才给_instance赋值
package
{
public class MyClass
{
private static var _instance:MyClass;
public function MyClass()
{
}
public static function getInstance():MyClass
{
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率!
if(_instance == null){
_instance = new MyClass();
}
return _instance;
}
}
}