OOP的好处包括代码易于维护、代码复用以及扩展能力。
易于扩展
现代软件应用程序倾向于变得很大。一个较大的系统可能曾包含数千行的代码。而现在,即使是哪些百万行代码的程序,也不能算是大程序了。C++之父Bjarne Stroustrup曾经说过,当系统变得越来越大的时候,就会给开发者带来问题。无论如何,一个较小的程序可以用任何语言编写。即使不是很容易的话,最终也都可以让它工作。但是一个较大的程序则完全不同。如果你没有良好的编程技术,你刚修改完旧的错误,就会出现新的问题。
之所以出现这种情况,是因为较大的程序中存在相互依赖的情况。当修改了程序中的一部分的内容时,你可能不会意识到这个修改会影响到其他的部分。OOP很容易让应用程序模块化,并且模块化会降低维护的难度。模块化是OOP内在的特性,因为作为对象的模板,一个类自身就是模块化的,好的设计应该允许一个类包含类似的功能和相关的数据。OOP中经常使用的一个重要的术语就是耦合。它表示两个模块之间相互作用的程度。各个部分之间的松耦合,使得代码更容易复用,而代码复用正是OOP的另一个好处。复用性
复用性表示之前编写的代码,可以由代码的作者或其他需要使用最初代码所提供的相同的功能的人重复使用。这并不会令人吃惊,因为OOP语言常常带有一组准备好的库。在Java中,该语言带有数百个类库或应用程序接口API,都经过了仔细的设计与测试。编写和发布你自己的库也很容易。在编程平台中,支持可复用性是非常吸引人的,因为它缩短了开发时间。
类的可复用性的主要的挑战之一是要为类库创建好的文档。一个程序员有多快才能找到他想要的功能的类?查找这样一个类更快,还是从头开始编写一个新的类更快