[討論] 做OO是不是要有美感?
第一道問題是
要選擇繼承,還是組合?
例如:
汽車要繼承引擎,
還是汽車要包含一個引擎成員?
汽車繼承引擎的話,
自然的就擁有發動、加油等功能,
跟日常看到的一樣。
但它們之間並沒有 is a 的關係…
又例如:
物件計數器
template 〈class T〉
class counter
{建構加一,解構減一}
如果要統計汽車物件數量,
要繼承好,還是包含好?
第二個問題:
以生產線模擬來說,
一台機台完成動作後
要通知下一台「輪到你了」
所以機台要「認識」其他機台。
class machine{
machine *other;
}
但這樣一來,
machine 裡有machine,
如果有個人想搞怪,
一直 new 下去,
這樣是不是就變成
machine = 生產線 ?
我可以接受一些 tree 結構採取
自己裡面有自己的指標設計,
但就很難接受一個
活生生的、現實的例子這樣作…
是我太欠缺美感,
還是太鑽牛角尖所致嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.28.215.7
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1459497626.A.AEB.html
→
04/01 16:06, , 1F
04/01 16:06, 1F
→
04/01 16:07, , 2F
04/01 16:07, 2F
→
04/01 16:08, , 3F
04/01 16:08, 3F
推
04/01 16:14, , 4F
04/01 16:14, 4F
→
04/01 16:15, , 5F
04/01 16:15, 5F
→
04/01 16:17, , 6F
04/01 16:17, 6F
→
04/01 16:19, , 7F
04/01 16:19, 7F
推
04/01 17:14, , 8F
04/01 17:14, 8F
→
04/01 17:14, , 9F
04/01 17:14, 9F
是不是傳統產業都比較偏向於
程式能動就好?
※ 編輯: noodleT (110.28.215.7), 04/01/2016 17:55:26
推
04/01 17:56, , 10F
04/01 17:56, 10F
→
04/01 18:17, , 11F
04/01 18:17, 11F
推
04/01 19:53, , 12F
04/01 19:53, 12F
→
04/01 19:55, , 13F
04/01 19:55, 13F
多一個生產線類別來控管
感覺挺不錯的
→
04/01 19:58, , 14F
04/01 19:58, 14F
推
04/01 20:09, , 15F
04/01 20:09, 15F
→
04/01 20:10, , 16F
04/01 20:10, 16F
OO不是把現實的屬性、
功能轉成類別嗎?
※ 編輯: noodleT (110.28.215.7), 04/01/2016 23:27:26
推
04/02 00:09, , 17F
04/02 00:09, 17F
推
04/02 00:19, , 18F
04/02 00:19, 18F
→
04/02 00:34, , 19F
04/02 00:34, 19F
→
04/02 00:48, , 20F
04/02 00:48, 20F
→
04/02 07:37, , 21F
04/02 07:37, 21F
推
04/21 19:33, , 22F
04/21 19:33, 22F