Flex通用轉殖(clone)方法

2021-06-09 01:20:18 字數 1415 閱讀 7839

為每個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 這個人可以說話的方法,說出...