7.4 观点2:面向对象编程能够提升程序的开发效率和可维护性
在使用面向对象编程语言开发时,并不是所有的类都必须由程序员亲自编写。大部分类都已内置于面向对象编程语言中了,这些类可以为来自各个领域的程序员使用。通常将像这样的一组类(一组组件)称为“类库”。通过利用类库可以提升编程的效率。还有一些类原本是为开发其他程序而编写的,如果可以把这些现成的类拿过来使用,那么程序的开发效率会更高
所谓企业级的程序,指的是对可维护性有较高要求的程序。可维护性体现在当程序投入使用后对已有功能的修改和新功能的扩充上。如果所维护的程序是用一组类封装起来的话,那么维护工作就轻松了。之所以这样说,是因为作为维护对象的函数和变量,已经被汇聚到名为类的各个组中了。举个例子来说,假设已经编写出了一个用于员工薪资管理的程序,随着薪资计算规则的变化,程序也要进行修改,那么需要修改的函数和变量就应该已集中在一个类中了,比如一个叫做CalculationClass的类(如图7.2所示)。
图7.2 只要把组件组合起来就可以高效地开发、轻松地维护
也就是说维护时没有必要去检查所有的类,只需修改类CalculationClass就可以了。关于可维护性,在第12章中还会继续介绍
“我创造类的人,你是使用类的人” – 在实际应用面向对象编程时要带着这个感觉。开发小组中的全体成员没有必要都对程序的方方面面都了解,组中有些人只负责制作组件(类),有些人负责使用组件。当然也会有需要同时做这两种工作的情况。另外,还可以把一部分组件的开发任务委托给合作公司,或者购买商业组件使用。
对于创造类的程序员,他们考虑的是程序的开发效率和可维护性,并决定应该将什么抽象成类。如果一个类的修改导致其他的类也要跟着修改,这样的设计是不行的。必须把组件设计成即使是坏了(有缺陷)也能轻松地替换,就像在汽车或家电等工业产品中所使用的组件那样。
在功能升级后,旧组件能够被新组件所替换的设计也是必不可少的。因此,创造者和使用者之间就需要事先商定类的使用规范。请记住,对于类的使用者而言“类看起来是什么样子的”这种关于规范的描述通常被称为“接口(Interface)”。例如,只要把接口告诉合作公司,就可以要求他们编写类,编写出的类也就自然能够与程序中的其他部分严密地拼装起来。在面向对象语言中,也提供了用于定义接口的语法
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论