作者xxxorc ()
看板Soft_Job
標題Re: [請益] 我這樣解釋OOP對嗎?
時間Thu Nov 16 15:30:33 2017
想請問各位工程師在使用別人寫好的套件時
會直接使用繼承來複用套件中的 class ,還是會封裝一層當作黑箱來用呢
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.70.124
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1510817436.A.74F.html
1F:→ loveflames: 繼承? 不先選擇組合嗎 11/16 15:38
2F:→ xxxorc: 用組合的話 如果命名很類似怎麼辦 11/16 15:39
3F:推 legendmtg: 別人寫的東西不見得有為了要被繼承而設計 11/16 15:42
4F:→ legendmtg: 隨便繼承下去不小心就炸了 11/16 15:42
5F:→ legendmtg: 命名類似有namespace啊 11/16 15:43
6F:推 ripple0129: Composition over inheritance 11/16 18:52
7F:推 sunsamy: It's right: Composition over inheritance. 11/16 20:54
8F:→ sunsamy: Because doesn't have overriding or overloading to 11/16 20:55
9F:→ sunsamy: confuse relation. 11/16 20:56
10F:推 loveflames: 如果非要繼承,繼承抽象比繼承實作好 11/16 20:56
11F:推 sunsamy: 繼承抽象比繼承實作好: 因為解耦掉底層的實作 11/16 21:04
12F:→ sunsamy: 在runtime時才對應實作(i.e. Polymorphism、泛形、Templa 11/16 21:04
13F:→ sunsamy: te) 11/16 21:05
14F:→ sunsamy: 如:linux的HAL層解耦掉底層的IC的PolicyBased Design Pat 11/16 21:05
15F:→ sunsamy: tern 11/16 21:05
16F:→ loveflames: 進一步抽象可使用bridge,將介面與實作解耦 11/16 21:30
17F:→ Killercat: 通常來講組合比繼承好,不過要看對方介面怎麼設計 11/22 15:13
18F:→ Killercat: 至於介面實作是更好 但是很吃設計 包含自己跟對方 11/22 15:14
19F:推 bitcch: 我會用封裝 繼承的耦合太大了 11/28 15:15