父類轉換成子類, 或者是類之間屬性拷貝

2021-10-09 11:43:41 字數 667 閱讀 6601

問題很怪, 其實本不應該這麼做的, 將父類轉換成子類本就是不安全的行為。 但哪有事事順心的, 真遇到了還是得解決。 

/**

* 父類

*/class foo

/** * 子類

*/class son extends foo

我想到的兩個方法:

1) 利用spring附帶的beanutils工具類解決

/**

* 這種方式是用了spring的工具類, 不關乎是否有繼承關係,

* 只要有相同的屬性就會拷貝進去

*/foo foo = new foo();

son son = new son();

beanutils.copyproperties(foo, son);

2)序列化妙用(jsonobject)

/**

* 這個是將父類先序列化成json字串, 然後再將字串轉化成物件, 曲線救國。

*/foo foo = new foo();

foo.setname("isla");

son son = jsonobject.parseobject(jsonobject.tojsonstring(foo), son.class);

C 父類和子類之間的轉換

學c 的時候有時候會對類型別之間的轉換感覺到些許的迷惑,下面記錄一點點理解和認識 首先需要明白一點 只有子類轉換成父類,父類不可能轉換成子類。因為子類是從父類繼承而來,子類中包含父類中所有成員。而如果父類可以轉換成子類,意味著將子類中將有一部分是未知的成員。這是不被允許的。在子類轉換成父類的時候,也...

C 子類父類之間相互轉換的問題

為了方便演示,這裡一共有兩個簡單的類 父類 動物類 animal 動物類 父類 public class animal 頭 public string head 子類 狗類 dog 狗類 繼承動物類 public class dog animal 建構函式 public dog 第一步 如果我們將d...

C 中子類和父類之間的相互轉換

學c 的時候有時候會對類型別之間的轉換感覺到些許的迷惑,下面記錄一點點理解和認識 首先需要明白一點 只有子類轉換成父類,父類不可能轉換成子類。因為子類是從父類繼承而來,子類中包含父類中所有成員。而如果父類可以轉換成子類,意味著將子類中將有一部分是未知的成員。這是不被允許的。在子類轉換成父類的時候,也...