Re: [閒聊] OOP小評
看板Soft_Job (軟體人)作者csfgsj (Lazy bone)時間11年前 (2015/03/05 20:07)推噓-2(0推 2噓 12→)留言14則, 7人參與討論串27/43 (看更多)
※ 引述《oaz ()》之銘言:
: B. 關於將資料和程序放在一起
: 我個人覺得更精確的說法是:將「相關的」資料和程序放在一起
: 想像我們現在在蓋一間房子,有兩種可能:
: I. 每間房有各自的家電用品,開關都在各自的房間
: II. 每間房有各自的家電用品,開關都集中在某一間房
: 那麼,我們會蓋哪一種?
貴司所舉的例子是一個典型的封閉體系
以下我對您所舉例子的認知,假設有兩個房間好了
兩個房間就是兩個獨立的Class,互不相干
房間的開關就是Class所屬資料成員
只有在那個房間裡面的人才能操作該房間內的開關
也就是成員函式
在這邊Class模型可以成立的原因是:
開關屬於房間,也封閉在房間內,房間外的人不會來操作
何謂開放體系?
房間內有一雙鞋
我可以將它穿出房間外,走到任何其它的地方
甚至房間垮了,鞋子還在
再舉一個交叉的例子
跟車廠買了一部車(資料),車子就是你的了
車子離開車廠
你要找老王(另外一個不相干的處理函式)改車
在路上飆車給警察追
甚至把車放火燒了,車廠都管不著
這是開放體系,車子屬於客戶,控制權在客戶手上
而封閉體系,就是租來的車
客戶想如何使用車,都要通過租車公司(Class)
遵守許多規定,雖然車子是因你而產生的,可是你沒有主控權
也沒有彈性
如果租車公司倒了,那你再也沒有車子可用
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.21.125
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1425557243.A.800.html
→
03/05 20:15, , 1F
03/05 20:15, 1F
→
03/05 20:15, , 2F
03/05 20:15, 2F
→
03/05 20:16, , 3F
03/05 20:16, 3F
→
03/05 20:18, , 4F
03/05 20:18, 4F
→
03/05 20:18, , 5F
03/05 20:18, 5F
噓
03/05 20:19, , 6F
03/05 20:19, 6F
→
03/05 20:20, , 7F
03/05 20:20, 7F
→
03/05 20:35, , 8F
03/05 20:35, 8F
→
03/05 20:36, , 9F
03/05 20:36, 9F
噓
03/05 20:41, , 10F
03/05 20:41, 10F
→
03/05 20:44, , 11F
03/05 20:44, 11F
→
03/05 21:50, , 12F
03/05 21:50, 12F
→
03/05 21:51, , 13F
03/05 21:51, 13F
→
03/06 09:12, , 14F
03/06 09:12, 14F
討論串 (同標題文章)
本文引述了以下文章的的內容:
6
22
以下文章回應了本文:
2
9
完整討論串 (本文為第 27 之 43 篇):
11
68
-14
103
4
24
-11
76
1
1
11
45
2
31
0
4
4
55
0
4
Soft_Job 近期熱門文章
PTT職涯區 即時熱門文章