1700415694
计算机是怎样跑起来的 7.5 观点3:面向对象编程是适用于大型程序的开发方法
1700415695
1700415696
通过之前的介绍,应该理解了为什么说面向对象编程适用于编写大型程序。假设一个程序需要10000个函数和20000个变量,如果把这个程序用100个类组织起来,那么平均一个类里就只有100个函数和200个变量了。程序的复杂度也就降到了原来的1%。如果使用了稍后将会讲解的封装这种编程技巧(即将函数和变量放入黑盒,使其对外界不可见),还可以更进一步降低复杂度
1700415697
1700415698
在讲解面向对象的书籍和文章中,由于受篇幅的限制,往往无法刊登大篇幅的示例程序。而通过短小的程序又无法把面向对象编程的优点传达出来,当然本书也不例外,所以就要请读者一边假想着自己在开发一个大型程序,一边阅读本书的解说。
1700415699
1700415700
为了接近计算机和人的距离,使计算机成为更容易使用的机器,围绕着计算机的各种技术都在不断发展,在人的直觉中,大件物品者是由组件组装起来的。因此可以说面向对象编程方法把同样的直觉带给了计算机,创造了一种顺序人类思维习惯的先进的开发方法
1700415701
1700415702
1700415703
1700415704
1700415706
计算机是怎样跑起来的 7.6 观点4:面向对象编程就是为现实世界建模
1700415707
1700415708
程序可以在计算机上实现现实世界中的业务和娱乐活动。计算机本身并没有特定的用途,而是程序赋予了计算机各种各样的用途。在面向对象编程中,可以通过“这个是由什么样的对象构成的呢?”这样的观点来分析即将转换成程序的现实世界。这种分析过程叫“建模”。可以说建模对于开发者而言,反映的是他们的世界观,也就是在他们眼中现实世界看起来是什么样子的
1700415709
1700415710
在实际建模的过程中,要进行“组件化”和“省略化”这两步,所谓组件化,就是将可看作是由若干种对象构成的集合的现实世界分割成组件。因为并不需要把现实世界100%地原样搬入到程序中,所以可以忽略其中的一部分事物。举例来说,假设要为巨型喷气式客机建模,那么就可以从飞机上抽象归类出机身、主翼、尾翼、引擎、轮子和座位等组件(如图7.3所示)
1700415711
1700415712
图7.3 在建模过程中要进行抽象归类和忽略部分细节
1700415713
1700415714
1700415715
1700415716
1700415717
而像卫生间这样的组件,不需要的话就可以省略。“建模”这个词也可以理解为制作塑料模型。虽然巨型喷气式客机的塑料模型有很多零件,但其中应该会省略掉卫生间,因为这对于塑料模型来说不是必需的。
1700415718
1700415719
1700415720
1700415721
1700415723
计算机是怎样跑起来的 7.7 观点5:面向对象编程可借助UML设计程序
1700415724
1700415725
可以说建模就是在为面向对象编程做设计,为了把对现实世界建模的结果以图形的形式表示出来,还经常使用被称为UML(Unified Modeling Language,统一建模语言)的表记方法。UML是通过统一历史上曾经出现的各种各样的表记方法而发明出来的,事实上UML已经成为建模表记方法中的世界标准
1700415726
1700415727
在UML中,规定了九种图(表7.1)。
1700415728
1700415729
表7.1 UML规定的九种图
1700415730
1700415731
名称 主要用途
1700415732
1700415733
用例图(Use Case Diagram):表示用户使用程序的方式
1700415734
1700415735
类图(Class Diagram):表示类以及多个类之间的关系
1700415736
1700415737
对象图(Object Diagram):表示对象
1700415738
1700415739
时序图(Sequence Diagram):从时间上关注并表示多个对象间的交互
1700415740
1700415741
协作图(Collaboration Diagram):从合作关系上关注并表示多个对象间的交互
1700415742
[
上一页 ]
[ :1.700415693e+09 ]
[
下一页 ]