看板 Programming 關於我們 聯絡資訊
Sorry..各位高手 之前沒有看到大家熱情的回應 我之前用繼承是為把code的function 依照功能分層 所以每層都有實做的function 之前沒有想好要重複使用的目的 但現在要寫一個類似的class.. 而且會用到共同定義的functions 其實我覺得這種情形應該還滿普遍 但我不知道軟工上正確的作法是什麼 把交通工具拿掉也很奇怪阿.. 所以正確的作法是應該寫個獨立的class叫交通工具 然後車和船 有"交通工具"的這個物件 對吧 這是是合成還是聚合阿 ? 我很遜阿!!! 不懂strategy pattern..正在研究當中 但水陸兩用車直接繼承交通工具 這樣之前寫在車和船的功能就不能重複使用了 有多份copy的code不會不好維護嗎 ※ 引述《tinlans ( )》之銘言: : ※ 引述《march20 ()》之銘言: : : 我猜在他在"交通工具" 實作了某些 utility. : : 如果是這樣, 應該是把 "交通工具" 變成 pure interface, : : 然後把這些 utility function 提取到 TrafficUtil, MillageUtil 才對.. : 他講的水陸兩用車, : 讓我覺得分類法應該是以功能做分類, : 繼承樹應該建立在「移動方式」的行為上, : 各種交通工具只是以合成或聚合的方式去使用這些行為物件, : 這樣水陸兩用車就可以直接繼承交通工具 (如果真的有必要留交通工具的話)。 : 第二行到第四行簡單來說就是 strategy pattern。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.125.87.33 ※ 編輯: sorryChen 來自: 128.125.87.33 (07/20 13:37)