类加载和应用程序域在Flash中的概念
1、(一)应用程序域类可以看作管理加载类的区域,有3个区域用来保存类。1.加载到子域类似于“继承”,子域可以直接获得父域所有的类定义;反之,父域得不到子域的。和继承庙堠杼寺关系不同的是,如果子域中有和父域同名的类,子域定义会被忽略而使用父域的定义。
2、2.加载到同域类似集合里的合并关系,被加载的swf文件里的所有类定义被合并到当前域中且可以直接使用,和加载到子域相同,与当前域同名的域也会被忽略。
3、3.加载到新域swf载入指定域之前,先要检查该域及其父域中是否存在同名类,重复定义一概忽略。如果加载别人写的程序,或者使用旧版本的主程序加载新版本的模块,为避免类名冲突要加载到新域独立运行便于使用自己的类。
4、系统域指的是Flash播放器的核心类定义,在系统域的下面就是主程序,不同加载域的结构如下图所示。
5、(二)根据按钮与主程序的位置关系,把加载域分为三种。1.把外部swf文件加载到同域,即和主程序同一个位置的区域。如果在同域和主程序中有相同的类定义,则忽略同域的类定义,使用主程序中的类定义。它使用的代码如下图所示。
6、2.把swf文件加载到子域,即位于主程序下一级位置的区域,主程序相当于父域,被加载的域相当于子域,与加载到同域类似,如果子域中有和父域同名的类,子域定义会被忽略而使用父域的定义。执行它的代码如下图所示。
7、3.把s嘛术铹砾wf文件加载到新域,即位于主程序同一级位置的区域。如果加载域与主程序中有同名的类,使用的不是主程序中的类,而是加载域的类。即使新旧版本之间使用同样的类名,也不会发生命名冲突,因为它们被划分到了不同的应用程序域中。实现它的代码如下图所示。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:96
阅读量:39
阅读量:47
阅读量:49
阅读量:51