概述
今天我们来介绍关于flash中的类加载和应用程序域的概念和作用,ApolicationDomain类的用途是存储ActionScript3.0定义表,swf文件中的所有代码定义都存在应用程序域中,可以使用应用程序域划分位于同一个安全域中的类,这允许同一个类存在多个定义,并且还允许子级重用父级定义,下面我们就俩看看详细的介绍。
(一)应用程序域类可以看作管理加载类的区域,有3个区域用来保存类。
1、加载到子域
类似于“继承”,子域可以直接获得父域所有的类定义;反之,父域得不到子域的。和继承关系不同的是,如果子域中有和父域同名的类,子域定义会被忽略而使用父域的定义。
2、加载到同域
类似集合里的合并关系,被加载的swf文件里的所有类定义被合并到当前域中且可以直接使用,和加载到子域相同,与当前域同名的域也会被忽略。
3、加载到新域
swf载入指定域之前,先要检查该域及其父域中是否存在同名类,重复定义一概忽略。如果加载别人写的程序,或者使用旧版本的主程序加载新版本的模块,为避免类名冲突要加载到新域独立运行便于使用自己的类。
4、系统域指的是Flash播放器的核心类定义,在系统域的下面就是主程序,不同加载域的结构如下图所示。
(二)根据按钮与主程序的位置关系,把加载域分为三种。
1、把外部swf文件加载到同域,即和主程序同一个位置的区域。如果在同域和主程序中有相同的类定义,则忽略同域的类定义,使用主程序中的类定义。它使用的代码如下图所示。
2、把swf文件加载到子域,即位于主程序下一级位置的区域,主程序相当于父域,被加载的域相当于子域,与加载到同域类似,如果子域中有和父域同名的类,子域定义会被忽略而使用父域的定义。执行它的代码如下图所示。
3、把swf文件加载到新域,即位于主程序同一级位置的区域。如果加载域与主程序中有同名的类,使用的不是主程序中的类,而是加载域的类。即使新旧版本之间使用同样的类名,也不会发生命名冲突,因为它们被划分到了不同的应用程序域中。实现它的代码如下图所示。
以上就是关于flash中类加载和应用程序域的介绍,希望大家喜欢,请继续关注靠谱客。
相关推荐:
flash cs6中怎么使用ActionScript3.0?
Flash cs6怎么实现按下字母按钮显示对应的图形?
Flash怎么计算向量点积? Flash两个向量点积的计算方法
最后
以上就是酷酷麦片为你收集整理的flash cs6类加载和应用程序域有什么作用?的全部内容,希望文章能够帮你解决flash cs6类加载和应用程序域有什么作用?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复