2013年7月10日

为什么要优先使用组合而不是继承

摘要: 继承具有如下优点:实现新的类非常容易,因为基类的大部分功能都可以通过继承关系自动赋予派生类;修改或者扩展继承来的实现非常容易;只要修改父类,派生的类的行为就同时被修改了。初学面向对象编程的人会认为继承真是一个好东西,是实现复用的最好手段。但是随着应用的深入就会发现继承有很多缺点:继承破坏封装性。基类的很多内部细节都是对派生类可见的,因此这种复用是“白箱复用”;如果基类的实现发生改变,那么派生类的实现也将随之改变。这样就导致了子类行为的不可预知性;从基类继承来的实现是无法在运行期动态改变的,因此降低了应用的灵活性。 继承关系有很多缺点,如果合理使用组合则可以有效的避免这些缺点,使用组合关系将系统 阅读全文

posted @ 2013-07-10 12:47 蓝风笨笨 阅读(1457) 评论(0) 推荐(0) 编辑

导航