继承具有如下优点:
实现新的类非常容易,因为基类的大部分功能都可以通过继承关系自动赋予派生类;修改或者扩展继承来的实现非常容易;只要修改父类,派生的类的行为就同时被修改了。初学面向对象编程的人会认为继承真是一个好东西,是实现复用的最好手段。但是随着应用的深入就会发现继承有很多缺点:继承破坏封装性。基类的很多内部细节都是对派生类可见的,因此这种复用是“白箱复用”;如果基类的实现发生改变,那么派生类的实现也将随之改变。这样就导致了子类行为的不可预知性;从基类继承来的实现是无法在运行期动态改变的,因此降低了应用的灵活性。
本文来自CSDN博客, 原文出处:http://blog.csdn.net/ldblog/archive/2009/04/07/4055079.aspx
本文深入探讨了面向对象编程中继承与组合的优缺点,指出继承虽能实现快速复用,但易破坏封装性及引入不可预知性。而组合通过将现有对象组合成新对象,不仅提升了系统对变化的适应性,还能保持类层次的清晰与单一职责原则,从而在实际应用中更加灵活可控。
1万+

被折叠的 条评论
为什么被折叠?



