Re: 繼承和多重繼承

看板Programming作者 ( )時間16年前 (2009/07/16 19:53), 編輯推噓7(706)
留言13則, 3人參與, 最新討論串4/7 (看更多)
※ 引述《march20 ()》之銘言: : ※ 引述《tinlans ( )》之銘言: : : 其實我比較好奇的是, : : 「交通工具」這種分類有什麼共通特性和介面值得你把它抽出來? : : 要不要考慮拿掉這個 class? : 我猜在他在"交通工具" 實作了某些 utility. : 如果是這樣, 應該是把 "交通工具" 變成 pure interface, : 然後把這些 utility function 提取到 TrafficUtil, MillageUtil 才對.. 他講的水陸兩用車, 讓我覺得分類法應該是以功能做分類, 繼承樹應該建立在「移動方式」的行為上, 各種交通工具只是以合成或聚合的方式去使用這些行為物件, 這樣水陸兩用車就可以直接繼承交通工具 (如果真的有必要留交通工具的話)。 第二行到第四行簡單來說就是 strategy pattern。 -- Ling-hua Tseng (uranus@tinlans.org) Department of Computer Science, National Tsing-Hua University Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Software pipelining for VLIW architectures Homepage: https://www.tinlans.org -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.105.128

07/17 00:18, , 1F
strategy 的型是在, 但交通工具似乎不太
07/17 00:18, 1F

07/17 00:20, , 2F
需要 "可抽換" (除非是變型金鋼或是
07/17 00:20, 2F

07/17 00:20, , 3F
在 model 路線中的交通工具選擇), 不然頂
07/17 00:20, 3F

07/17 00:21, , 4F
多就是個 composite 吧 (就你舉的 case)
07/17 00:21, 4F

07/17 00:24, , 5F
("頂多" 不太對, 應該說 "只需要")
07/17 00:24, 5F

07/17 15:36, , 6F
strategy 除了強調可抽換外還有歸納行為成
07/17 15:36, 6F

07/17 15:37, , 7F
一族系的用途,不抽只是不用部分特性罷了
07/17 15:37, 7F

07/17 15:38, , 8F
,而且要做成可抽也是有理由,因為不可能
07/17 15:38, 8F

07/17 15:38, , 9F
同時在水上又在陸上,可以根據環境抽。
07/17 15:38, 9F

07/17 15:40, , 10F
而且做成 aggregate 也不算過度預留彈性。
07/17 15:40, 10F

07/17 17:14, , 11F
話說, 其實原 po 一直都沒說他這幾個class
07/17 17:14, 11F

07/17 17:14, , 12F
是拿來做什麼的, 我個倒是猜得很開心 XD
07/17 17:14, 12F

07/17 17:26, , 13F
就熱情ㄟ XD
07/17 17:26, 13F
文章代碼(AID): #1ANnIuBW (Programming)
討論串 (同標題文章)
文章代碼(AID): #1ANnIuBW (Programming)