博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AS3 对象 深度复制
阅读量:4105 次
发布时间:2019-05-25

本文共 1171 字,大约阅读时间需要 3 分钟。

AS3 对象 深度复制
package cn.lite3.utils{ import flash.net.getClassByAlias; import flash.net.registerClassAlias; import flash.utils.ByteArray; import flash.utils.getQualifiedClassName;    public class ObjectUtil {    	// 对象深度复制  将实例及子实例的所有成员(属性和方法, 静态的	// 除外)都复制一遍, (引用要重新分配空间!)     	// 局限性    	// 1. 不能对显示对象进行复制    	// 2. obj必须有默认构造函数(参数个数为0,或都有默认值)        // 3. obj 里有obj类型 之外 的非内置数据类型时, 返回类型将不//确定              //  @param  obj  strong      strong 深复制的对象 	//   @return     static public function deepClone(obj)  {   var aliasClass:Class;   var classDefinition:Class = Object(obj).constructor as Class;   var className:String = getQualifiedClassName(obj);   // 获取已注册 obj的类名的类型   try {    aliasClass = getClassByAlias(className);   }catch (errError) { }   // 没有注册 AliasName   if (!aliasClass)   {    registerClassAlias(className, classDefinition);   }  // 已经注册了 AliasName ,且不是它的全类名,要重新注册个   else if (aliasClass != classDefinition)   {    registerClassAlias(className + “”+ className, classDefinition);   }   else{   // 注册的AliasName 为 全类名   var byteArray:ByteArray = new ByteArray();   byteArray.writeObject(obj);   byteArray.position = 0;   return byteArray.readObject();  } }}

 

转载地址:http://iejsi.baihongyu.com/

你可能感兴趣的文章
剑指offer——数值的整数次方
查看>>
剑指offer——表示数值的字符串
查看>>
Win10上搭建Nginx+SimpleSAMLphp认证服务
查看>>
Win10下搭建绿色版基于WAMP的PHP开发环境
查看>>
如何优雅地使用 Sublime Text
查看>>
理解 HTTPS 的工作原理
查看>>
解决命令启动Android模拟器出现lib64OpenglRender.so: cannot open shared object file问题
查看>>
全站 HTTPS 来了
查看>>
Win8.1/10中删除文件的默认关联程序
查看>>
修改Android系统默认关闭“验证应用”功能
查看>>
Win10下使用PHP7+XDebug+Sublime Text 3搭建PHP集成开发环境
查看>>
即使被拖库,也可以保证密码不泄露
查看>>
Android网络时间同步
查看>>
最简明扼要的 Systemd 教程,只需十分钟
查看>>
Gradle的神奇之处
查看>>
受用不尽的Gradle使用方法与技巧
查看>>
Android系统移植与调试之------->如何修改Android的默认语言、默认时区
查看>>
Grub 2:拯救你的 bootloader
查看>>
Android开发中常用ADB命令总结
查看>>
grep 命令系列:如何在 Linux/UNIX 中使用 grep 命令
查看>>