不论是理论上还是实用上,代码重用都是编程的一个重要议题。可以从两个角度来讨论代码重用。
一是逻辑上代码以怎样的方式被重用。既可以通过面向对象的思想普及以来耳熟能详的继承的方式。比如先建了一个车的基类,再从它衍生出轿车、卡车、大客车等子类,基类车的功能就被这些子类重用了。另一种途径是从函数被发明起就一直被使用的组合。例如我们已经有了轱辘、轴、车斗、木杆等部件,就可以组合出一辆三轮车。
第二个角度是实体上代码以怎样的方式被重用。从需要连接的静态库文件、可以动态加载的库到直接引用的脚本文件,都有各自的特点。