as3的单例模式有两种实现方式
2010-05-21 12:21
309 查看
转载 http://www.xici.net/main.asp?url=/u5854060/d96745532.htm
方式一:直接在构造函数里赋_instance值
package
{
public class MyClass
{
private static var _instance:MyClass;
public function MyClass()
{
_instance = this;
}
public static function getInstance():MyClass
{
return _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;
}
}
}
单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例。 特点: 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;
}
}
}
相关文章推荐
- kotlin for android----------MVP模式下(OKHttp和 Retrofit+RxJava)网络请求的两种实现方式
- 关于生产者与消费者模式的两种实现方式
- 单例模式的两种实现方式
- iOS 单例模式实现的两种方式
- java中单例设计模式的两种实现方式
- 单例模式的两种实现方式:懒汉式 饿汉式
- JDK和CGLib两种方式实现动态代理模式
- kotlin for android----------MVP模式下(OKHttp和 Retrofit+RxJava)网络请求的两种实现方式
- 1.singleton模式的的两种实现方式
- Java设计模式(四):原型模式深拷贝的两种实现方式,以及和new对象的性能测试对比
- 单例模式的两种实现方式及区别
- ios单例模式实现的两种方式
- 单例模式的两种实现方式
- 单例模式的两种较好的实现方式
- 单例模式--Singleton的两种实现方式
- c#单例模式 两种实现方式
- APP夜间模式的两种实现方式
- Java多线程中的单例模式两种实现方式
- JavaScript进阶设计模式系列——基础篇——闭包(5)--命令模式的两种实现方式
- 单例模式两种实现方式