Re: [問題] 如何延伸一個父類別object到子類別object

看板java作者 (骨頭)時間18年前 (2007/09/22 21:09), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《easy1 (e :) y)》之銘言: : 有點奇怪的問法...f@@ : class P { : int a; : int b; : ... : int o; : } : class C extends P { : int p; : int q; : ... : } : 今天我有 : P p = new P(); : p.setA(.); p.setB(..); .... : 一個P的object 為甚麼不一開始就new C? 既然是繼承 , 自然會有setA ,setB這些 一開始就預期會有擴展的行為,就採用最後的型態囉; 如果是想動態擴展的話,應該是沒甚麼特別偷吃步的作法。 : 有什麼比較好的方法 : 把 p 延伸成 C 的object? java 有內定的這種轉型嗎? 應該是沒有~ : 我想到就是 C c = new C(p); // 在建構式裡 把attribute 一個一個assign : 然後 c.setP(...); c.setQ(..); // 在設其他的attribute : 主要想作出一個 C 可以 Wrap P 的資訊. 這是可行解 . : 除了這樣以外 : class C { : private P p; : ... : } --  ▄▅▆▇███▇▆▅▄▃        ╰┼╯─╮ ╮         ◥███████████◣       ╰┼╯=│=│         ◥██████───────    *. ╯  ╯ ╯ の 物 語 .*  ◥███████──────◣ ~ ◢◣             ◢◣  ◥██████───────◤   ◥◤  空白的世界.翼 ◥◤  ◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂telnet://tony1223.no-ip.info -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.77.114

09/22 22:57, , 1F
虛擬函式可以嗎?
09/22 22:57, 1F

09/22 23:28, , 2F
那就不如用裝飾者了...
09/22 23:28, 2F
文章代碼(AID): #16zHFuVQ (java)
文章代碼(AID): #16zHFuVQ (java)