打字猴:1.700415672e+09
1700415672
1700415673 在使用面向对象编程语言开发时,并不是所有的类都必须由程序员亲自编写。大部分类都已内置于面向对象编程语言中了,这些类可以为来自各个领域的程序员使用。通常将像这样的一组类(一组组件)称为“类库”。通过利用类库可以提升编程的效率。还有一些类原本是为开发其他程序而编写的,如果可以把这些现成的类拿过来使用,那么程序的开发效率会更高
1700415674
1700415675 所谓企业级的程序,指的是对可维护性有较高要求的程序。可维护性体现在当程序投入使用后对已有功能的修改和新功能的扩充上。如果所维护的程序是用一组类封装起来的话,那么维护工作就轻松了。之所以这样说,是因为作为维护对象的函数和变量,已经被汇聚到名为类的各个组中了。举个例子来说,假设已经编写出了一个用于员工薪资管理的程序,随着薪资计算规则的变化,程序也要进行修改,那么需要修改的函数和变量就应该已集中在一个类中了,比如一个叫做CalculationClass的类(如图7.2所示)。
1700415676
1700415677 图7.2 只要把组件组合起来就可以高效地开发、轻松地维护
1700415678
1700415679
1700415680
1700415681
1700415682 也就是说维护时没有必要去检查所有的类,只需修改类CalculationClass就可以了。关于可维护性,在第12章中还会继续介绍
1700415683
1700415684 “我创造类的人,你是使用类的人”–在实际应用面向对象编程时要带着这个感觉。开发小组中的全体成员没有必要都对程序的方方面面都了解,组中有些人只负责制作组件(类),有些人负责使用组件。当然也会有需要同时做这两种工作的情况。另外,还可以把一部分组件的开发任务委托给合作公司,或者购买商业组件使用。
1700415685
1700415686 对于创造类的程序员,他们考虑的是程序的开发效率和可维护性,并决定应该将什么抽象成类。如果一个类的修改导致其他的类也要跟着修改,这样的设计是不行的。必须把组件设计成即使是坏了(有缺陷)也能轻松地替换,就像在汽车或家电等工业产品中所使用的组件那样。
1700415687
1700415688 在功能升级后,旧组件能够被新组件所替换的设计也是必不可少的。因此,创造者和使用者之间就需要事先商定类的使用规范。请记住,对于类的使用者而言“类看起来是什么样子的”这种关于规范的描述通常被称为“接口(Interface)”。例如,只要把接口告诉合作公司,就可以要求他们编写类,编写出的类也就自然能够与程序中的其他部分严密地拼装起来。在面向对象语言中,也提供了用于定义接口的语法
1700415689
1700415690
1700415691
1700415692
1700415693 计算机是怎样跑起来的 [:1700412685]
1700415694 计算机是怎样跑起来的 7.5 观点3:面向对象编程是适用于大型程序的开发方法
1700415695
1700415696 通过之前的介绍,应该理解了为什么说面向对象编程适用于编写大型程序。假设一个程序需要10000个函数和20000个变量,如果把这个程序用100个类组织起来,那么平均一个类里就只有100个函数和200个变量了。程序的复杂度也就降到了原来的1%。如果使用了稍后将会讲解的封装这种编程技巧(即将函数和变量放入黑盒,使其对外界不可见),还可以更进一步降低复杂度
1700415697
1700415698 在讲解面向对象的书籍和文章中,由于受篇幅的限制,往往无法刊登大篇幅的示例程序。而通过短小的程序又无法把面向对象编程的优点传达出来,当然本书也不例外,所以就要请读者一边假想着自己在开发一个大型程序,一边阅读本书的解说。
1700415699
1700415700 为了接近计算机和人的距离,使计算机成为更容易使用的机器,围绕着计算机的各种技术都在不断发展,在人的直觉中,大件物品者是由组件组装起来的。因此可以说面向对象编程方法把同样的直觉带给了计算机,创造了一种顺序人类思维习惯的先进的开发方法
1700415701
1700415702
1700415703
1700415704
1700415705 计算机是怎样跑起来的 [:1700412686]
1700415706 计算机是怎样跑起来的 7.6 观点4:面向对象编程就是为现实世界建模
1700415707
1700415708 程序可以在计算机上实现现实世界中的业务和娱乐活动。计算机本身并没有特定的用途,而是程序赋予了计算机各种各样的用途。在面向对象编程中,可以通过“这个是由什么样的对象构成的呢?”这样的观点来分析即将转换成程序的现实世界。这种分析过程叫“建模”。可以说建模对于开发者而言,反映的是他们的世界观,也就是在他们眼中现实世界看起来是什么样子的
1700415709
1700415710 在实际建模的过程中,要进行“组件化”和“省略化”这两步,所谓组件化,就是将可看作是由若干种对象构成的集合的现实世界分割成组件。因为并不需要把现实世界100%地原样搬入到程序中,所以可以忽略其中的一部分事物。举例来说,假设要为巨型喷气式客机建模,那么就可以从飞机上抽象归类出机身、主翼、尾翼、引擎、轮子和座位等组件(如图7.3所示)
1700415711
1700415712 图7.3 在建模过程中要进行抽象归类和忽略部分细节
1700415713
1700415714
1700415715
1700415716
1700415717 而像卫生间这样的组件,不需要的话就可以省略。“建模”这个词也可以理解为制作塑料模型。虽然巨型喷气式客机的塑料模型有很多零件,但其中应该会省略掉卫生间,因为这对于塑料模型来说不是必需的。
1700415718
1700415719
1700415720
1700415721
[ 上一页 ]  [ :1.700415672e+09 ]  [ 下一页 ]