Re: [閒聊] OOP小評

看板Soft_Job作者 (乘著風去旅行)時間9年前 (2015/03/01 12:24), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串3/43 (看更多)
我覺得 OOP 這個名字真的取得不好 因為會讓人 誤解為 什麼東西都視為物件 其實他最重要的概念就是 "針對介面寫程式" 跟 Domain Knowledge 一點衝突也沒有 而介面 最重要的概念 就是 : 封裝 雖然 繼承 或多型也很重要 不管用啥語言 如果 能做到 封裝 也就是 讓 介面 清楚 表達裡面的實作內容 並且 不會與其他 介面 做混淆 這就 符合 OOP 的精神了 而裡面實作的內容 就是 Domain Knowledge 介面有各種層次 比如 <1> 最初 的 function <2> 接著 進階到 file name (EX : C 裡面的 file name 就是把 相同的 API group 在一起) 然後 是 Class (OOP 語言) <3> Class 裡 設為 public 的就是介面 當 OOP 出現後 他最重要 的就是 利用 繼承 將 這些 Class 的 介面抽取出來 也就是多型 <4> 他的父類別就是 OOP 裡的 介面 就這樣 一直不斷抽取 我覺得 OOP 的概念其實就 源自於 生物裡的細胞 假設 病毒 的介面 和 人類 的不同 那 病毒不就無法 感染人類了 但如果 身體裡 各個器官的介面 都不一樣 不就無法將 消化的養分送到 各個器官 各個器官也無法一起合作 以上這段說明一個概念 介面是為了 互動 而生的 他是要讓 一個 可能 不十分了解你的 Domain Knowledge 的 client 能夠 透過介面 跟你 互動 有一本書 曾說過 學 OOP 應該 先從 Design Pattern 入手 這是真的 Design Pattern 讓你曉得 當 互不相干的兩人要互相溝通(存取介面) 要如何才能讓 對方 可以 在不知道 實作情況下 很有效 的溝通 用 OOP 如果 只創造 一個 Class 是沒有意義的 只有在 與別的 Class 交互作用下 才能發揮 介面的功效 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.68.90 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1425183886.A.B49.html

03/01 12:38, , 1F
不過我認為介面沒搞懂就看DP會走火入魔喔
03/01 12:38, 1F

03/02 13:09, , 2F
人類為何不用流感病毒作成機器?
03/02 13:09, 2F
文章代碼(AID): #1KyfIEj9 (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1KyfIEj9 (Soft_Job)