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