反射解決類的複製

2022-01-21 20:47:05 字數 466 閱讀 5510

假定乙個類,類名是etybase,另乙個類類名是etytwo,etytwo繼承自etybase。現在要求etytwo的屬性值從乙個etybase中複製過來傳統做法是

view code

public

void copyety(etybase from

, etybase to)

這樣子做有幾點不好的地方

etybase的屬性改變時複製的屬性也得改變,耦合較高;

若etybase的屬性比較多,那麼這個複製方法將顯得比較冗長,寫的人手累。

如果用反射來做,我是這麼做的

view code

public

void copyety(etybase from

, etybase to)}}

反射可以解決上述的兩個缺點,當類屬性改變或增加時,此複製方法無需改變。當然這是要付出些許執行效率的。

iOS反射 2 類方法的反射

1.nsobject常用方法 類別判斷,也可以說是動態方法 objc view plain copy student stu student alloc init autorelease iskindofclass判斷物件是否屬於某個類 或者 子類 if stu iskindofclass pers...

NSObject 類的反射,方法反射(十五)

nsobject 類的反射,方法反射用法如下 import ms nsreflect.h import ms person.h import ms student.h implementation ms nsreflect void shownsreflect else 基類 iskindofcla...

反射 通過反射獲取類的完整結構

獲取執行時類的屬性 public class testfields 2 getdeclaredfields 能夠獲取執行時類本身中宣告的所有屬性 field fields1 clazz.getdeclaredfields for field f fields1 許可權修飾符,變數型別,變數名 獲取屬...