為每個vo一一書寫clone()方法是一件麻煩事,利用flex的反射功能可實現較通用的轉殖方法,本方法可保留型別資訊,比flex自帶的objecproxy的copy()和clone()好用哦,**如下:
import flash.utils.bytearray;
import flash.utils.describetype;
import flash.utils.getdefinitionbyname;
import flash.utils.getqualifiedclassname;
import mx.collections.arraycollection;
import mx.collections.ilist;
import mx.formatters.dateformatter;
import mx.utils.objectutil;
public class commonutil extends object
public static function clone(obj:object):object
return arr;
}else if(typename.search("arraycollection") >= 0)
return coll;
}var classname:string = getqualifiedclassname(obj);
var clazz:class = class(getdefinitionbyname(classname));
instance = new clazz();
var objinfo:object = objectutil.getclassinfo(obj);
var fieldname:array = objinfo["properties"] as array;
for each(var q:qname in fieldname)
else}}
}catch(e:referenceerror)
catch(e:typeerror)
return instance;
}public static function isbasictypename(typename:string):boolean
使用方法:
public class a
public function set a(value:int):void
public function get arr():array
public function set arr(value:array):void
}var a:a = new a();
var b:a = commonutil.clone(a); // b是a的乙個副本
轉殖物件 clone 方法
有的時候我們需要在乙個專案裡面,使用兩個或多個一樣的物件,如果你使用 new 關鍵字重新建立物件的話,再賦值上相同的屬性,這樣做比較煩瑣而且也容易出錯,所以要根據乙個物件完全轉殖出乙個一模一樣的物件,是非常有必要的,而且轉殖以後,兩個物件互不干擾。在php4中我們使用 clone 這個關鍵字轉殖物件...
JAVA 物件轉殖clone
有時候我們希望轉殖乙個已存在的物件,並對其進行操作,但是不希望改變原物件,這時使用clone技術就非常方便了。但是使用clone,也有一些需要注意的地方,因為clone有淺層轉殖和深層轉殖。還是習慣先直接上 結合 講解。注 如果你希望某個類具有clone功能,該類必須實現介面cloneable,它是...
PHP轉殖物件clone
有的時候我們需要在乙個專案裡面,使用兩個或多個一樣的物件,如果你使用 new 關鍵字重新建立物件的話,再賦值上相同的屬性,這樣做比較煩瑣而且也容易出錯,所以要根據乙個物件完全轉殖出乙個一模一樣的物件,是非常有必要的,而且轉殖以後,兩個物件互不干擾。class person 這個人可以說話的方法,說出...