多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 6.10 总结 无论继承还是组合,我们都可以在现有类型的基础上创建一个新类型。但在典型情况下,我们通过组合来实现现有类型的“复用”或“重复使用”,将其作为新类型基础实现过程的一部分使用。但如果想实现接口的“复用”,就应使用继承。由于派生或派生出来的类拥有基类的接口,所以能够将其“向上转换”为基类。对于下一章要讲述的多态性问题,这一点是至关重要的。 尽管继承在面向对象的程序设计中得到了特别的强调,但在实际启动一个设计时,最好还是先考虑采用组合技术。只有在特别必要的时候,才应考虑采用继承技术(下一章还会讲到这个问题)。组合显得更加灵活。但是,通过对自己的成员类型应用一些继承技巧,可在运行期准确改变那些成员对象的类型,由此可改变它们的行为。 尽管对于快速项目开发来说,通过组合和继承实现的代码复用具有很大的帮助作用。但在允许其他程序员完全依赖它之前,一般都希望能重新设计自己的类结构。我们理想的类结构应该是每个类都有自己特定的用途。它们不能过大(如集成的功能太多,则很难实现它的复用),也不能过小(造成不能由自己使用,或者不能增添新功能)。最终实现的类应该能够方便地复用。