Re: [請益] 我這樣解釋OOP對嗎?

作者: xxxorc   2017-11-16 15:30:33
想請問各位工程師在使用別人寫好的套件時
會直接使用繼承來複用套件中的 class ,還是會封裝一層當作黑箱來用呢
作者: loveflames (咕啾咕啾魔法陣)   2017-11-16 15:38:00
繼承? 不先選擇組合嗎
作者: xxxorc   2017-11-16 15:39:00
用組合的話 如果命名很類似怎麼辦
作者: legendmtg (CLANNAD)   2017-11-16 15:42:00
別人寫的東西不見得有為了要被繼承而設計隨便繼承下去不小心就炸了命名類似有namespace啊
作者: ripple0129 (perry tsai)   2017-11-16 18:52:00
Composition over inheritance
作者: sunsamy   2017-11-16 20:54:00
It's right: Composition over inheritance.Because doesn't have overriding or overloading toconfuse relation.
作者: loveflames (咕啾咕啾魔法陣)   2017-11-16 20:56:00
如果非要繼承,繼承抽象比繼承實作好
作者: sunsamy   2017-11-16 21:04:00
繼承抽象比繼承實作好: 因為解耦掉底層的實作在runtime時才對應實作(i.e. Polymorphism、泛形、Template)如:linux的HAL層解耦掉底層的IC的PolicyBased Design Pattern
作者: loveflames (咕啾咕啾魔法陣)   2017-11-16 21:30:00
進一步抽象可使用bridge,將介面與實作解耦
作者: Killercat (殺人貓™)   2017-11-22 15:13:00
通常來講組合比繼承好,不過要看對方介面怎麼設計至於介面實作是更好 但是很吃設計 包含自己跟對方
作者: bitcch (必可取)   2017-11-28 15:15:00
我會用封裝 繼承的耦合太大了

Links booklink

Contact Us: admin [ a t ] ucptt.com