举例说明面向对象和面向过程的区别_第1页
举例说明面向对象和面向过程的区别_第2页
举例说明面向对象和面向过程的区别_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、举例说明面向对象和面向过程的区别两种方法都是编程中的比较常用的方法,从理论上来说,都能达到用计算机 程序来解决实际问题的目的,只不过是其中所体现出来的思想不一样而已。面向过程:面向过程的思想是把一个项目、一件事情按照一定的顺序,从头 到尾一步一步地做下去,先做什么,后做什么,一直到结束。这种思想比较好理 解,其实这也是一个人做事的方法。面向对象:面向对象的思想是把一个项目、一件事情分成更小的项目,或者 说分成一个个更小的部分,每一部分负责什么方面的功能,最后再由这些部分组 合而成为一个整体。这种思想比较适合多人的分工合作,就像一个大的机关,分 成各个部门,每个部门分别负责某样职能,各个部门可以

2、充分发挥自己的特色, 只要符合一定前提就行了。举例说明1:比如刚才说的一个大的机关,要做某一个项目,从面向过程的思想 来说,应该是这样分析的,先怎么样,再怎么样,最后怎么样。第一样应该如何 完成,第二样应该如何完成等等。等到每一步骤都完成,项目也就完成了。而面 向对象的思想则应该是这样想的,这个项目是由几个部分组成的,我们就做好分 工,成立一个部门来做一个部分的功能,另一个部门来做另一个部分。各个部门 可以不用理解其他部门的事,只要完成自己那一部分的事情就OK 了。举例说明2:又比如我们有一台演出,为简单起见,假设有如下流程:主持人开 场一一演员一表演一一演员二表演一一主持人总结。用面向过程的

3、思想来分析, 就是先完成主持人开场,再完成演员一的表演,再完成演员二的表演,最后完成 主持人的总结。而如果用面向对象的思想来分析,就应该是这样的。这个演出由 两大部分组成:主持人、演员。与主持人相关的:开场、总结。与演员相关的: 演员编号、所演的节目。然后这台演出就可以这样策划:需要一个主持人a,需要两个演员b、c。演出的事情可以表示为:a的开场 b、c的编号和节目 a的总结。面向对象和面向过程的区别示例之下棋面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一 步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事 务分解成各个对象,建立对象的目的不是为了完成一个步

4、骤,而是为了描叙某个 事物在整个解决问题的步骤中的行为。例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为:1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象) 棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种 变化,同时利用第三类对象(规则系统)来对棋局进行判定。可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制 棋局,这样的行为在面向过程的设计中分散在了许多步骤中,很可能出现不同的 绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对 象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能, 如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改 动,甚至步骤之间的顺序都要进行大规模调整。如果是面向对象的话,只用改动 棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论