蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOCX文档下载
 

面向对象程序设计与面向过程程序设计的区别

  • 资源ID:53152212       资源大小:86.72KB        全文页数:6页
  • 资源格式: DOCX        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

面向对象程序设计与面向过程程序设计的区别

面向过程程序设计和面向对象程序设计的区别 面向过程程序设计我个人的理解简单来说,他考虑问题的方 式是面向流程的,一个程序的设计思路就是解决一个问题的流 程。就好比游戏先登入界面,再输入密码,然后选择角色,在然 后进入游戏玩耍,结束 这把这些步样就是面向过程。 面向过程就是分析出解决问题所需要的步骤,然后用函数骤一步 调用就可以了一步实现,使用的时候一个一个依次。可以看出面 向过程化程序设计是先确定算法,再确定数据结构。而面向对象 程序设计是面向问题中的各种独立个体的,程序的析设分计过程 就是将程序分解成不同对象(不同概念体)之间的交互的过程。 这就好比在针对某个工程或游戏设计程序时先不考虑,游戏是怎 么玩的,工作是怎么做的,而先会去找,游戏或工程中有哪些人 或事物参与(一般选择用户,玩家,角色等等),然后再看他 们都有什么用,都干了些什么,针对这个区设计方法。最后在通 过这些千丝万缕的联系把他们分门别类的,组装在一起。可以看 出面向过程化程序设计是先确定数据结构再确定算法。 从上面很容易看出,面向过程的程序上一步和下一步环环相扣, 他只考虑实现客户的需求不考虑以后扩展,如果以后客户的需求 有变化 那代码量要改变非常大 耗费的时间也相当多。从本质上 说,面向过程基本上是一种状态机,不利于修改,当新状态出现 的时候,甚至可能需要重设每一个状态解决实现。所以说面向过 程是一种直接的编程方法,它是按照编程语言的思路考虑问题。 尤其是想C语言这种过程式语言,它就是通过顺序执行一组语句 来实现一个功能,这些语句的执行过程就是整个程序。不同的语 言解决同一个问题的过程是不一样的。 而面向对象的程序设计很多东西都是独立的,每个对象都可以重 复使用。而面向对象程序设计强调“封装”,“继承“和“多态”。 数据和与数据相关的操作被包装成对象(严格的说是“类”),每 一种对象是相对完整和独立的。对象可以有派生的类型,派生的 类型可以覆盖(或重载)原本已有的操作。所有的这些,是为了 达成更好的内聚性,即一种对象做好一件(或者一类相关的)事 情,对象内部的细节外面世界不关心也看不到;以及降低耦合性, 即不同种类的对象之间相互的依赖尽可能降低。而所有的这些, 都有助于达成一个崇高的目标,就是可复用性。 下面举个例子来说明面向过程的程序和面向对象的程序设计的 区别 用面向过程的思想去考虑它应该是这样的如何启动汽车、 如何起步、加速、刹车、熄火等一个个操作。面向过程是把所有 的功能全部在一个大的类里定义出来,当系统庞大时,功能多了, 各种操作之间的调用关系也很复杂,当需要修改一个功能时就可 能引发一连串的改动,使修改和维护成本增加,而不利于修改。 而面向对象则以汽车为对象,一切由汽车开始,以上的可用操 作,即功能是汽车这个对象本身所具有的,做任何操作只要告诉 汽车就可以了。面向对象程序设计需求用继承/封装/多态/抽象 等去设计程序 代码量比面向过程化程序设计是多出了很多 但 以后的扩展性和维护性是相当的高效。 下面我们来着重的来讨论面向对象的程序设计中的几个重要概 念和编程思想 抽象性一一程序有能力忽略正在处理中信息的某些方面,即 对信息主要方面关注的能力。 类一一具有相同或相似性质的对象的抽象就是类。因此,对象 的抽象是类,类的具体化就是对象,也可以说类的实例是对象 封装一一也叫做信息封装确保组件不会以不可预期的方式改变 其它组件的内部状态;只有在那些提供了内部状态改变方法的组 件中,才可以访问其内部状态。每类组件都提供了一个与其它组 件联系的接口,并规定了其它组件进行调用的方法。 ⑷多态性多形性 多态性是指相同的操作或函数、过程可作用于多种类型的对 象上并获得不同的结果。不同的对象,收到同一消息可以产生不 同的结果,这种现象称为多态性。 多态性允许每个对象以适合自身的方式去响应共同的消息。 多态性增强了软件的灵活性和重用性。 3继承性。 继承性是子类自动共享父类数据结构和方法的机制,这是类 之间的一种关系。在定义和实现一个类的时候,可以在一个已经 存在的类的基础之上来进行,把这个已经存在的类所定义的内容 作为自己的内容,并加入若干新的内容。 继承性是面向对象程序设计语言不同于其它语言的最重要 的特点,是其他语言所没有的。 在类层次中,子类只继承一个父类的数据结构和方法,则称 为单重继承。 在类层次中,子类继承了多个父类的数据结构和方法,则称 为多重继承。 在软件开发中,类的继承性使所建立的软件具有开放性、可 扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、 类的创建工作量,增加了代码的可重性。 采用继承性,提供了类的规范的等级结构。通过类的继承关 系,使公共的特性能够共享,提高了软件的重用性。把相关对象 的共同部分(属性和动作)进行抽象,形成一个类。也就是说, 不同对象通过继承(extends)可以共享这部分内容。通过不断归 纳共同部分,就可形成不同层次的类(父类、子类)。这就形成 了 JAVA的编程思想。 面向过程编程的程序员,习惯于建立数据结构存放数据并定义方 法(函数)来操作数据;面向对象编程的程序员则构造一个对象 模型,将数据与方法组织在一起。 下面以求长方形的周长和面积为例分析 ■面向过程的程序设计方式思考 1、确定长方形的周长和面积的算法; 2、编写两个方法(函数)分别计算长方形的周长和面积; 3、求周长的方法(函数)和求面积的方法(函数)需要两个参 数,分别是长方形的长和宽。 ■面向对象的程序设计方式思考 1、一个长方形可以看成一个长方形对象; 2、一个长方形对象有两个状态(长和宽)和两个行为(求周长 和求面积); 3、将所有长方形的共性抽取出来,设计一个长方形的类; 4、通过长方形对象的行为,就可以求出某个具体的长方形对象 的周长和面积。 比较面向对象程序设计和面向过程程序设计,还可以得到面向对 象程序设计的优点 1)数据抽象的概念可以在保持外部接口不变的情况下改变 内部实现,从而减少甚至避免对外界的干扰; 2)通过继承大幅减少冗余的代码,并可以方便地扩展现有 代码,提高编码效率,也减低了出错概率,降低软件维护的难度; 3)结合面向对象分析、面向对象设计,允许将问题域中的 对象直接映射到程序中,减少软件开发过程中中间环节的转换过 程; 4)通过对对象的辨别、划分可以将软件系统分割为若干相 对为独立的部分,在一定程度上更便于控制软 C, C, Java这些都是语言,他们之间并没有是不是面 向对象的区别。用C同样可以写面向对象的程序,看看Linux 的内核代码就知道了。C, Java 一样可以写面向过程的程序, 他们之所以叫面向对象的编程语言是因为他们提供的语言特 性更易于实现面向对象的编程方法,并不是说他们只能做面 向对象编程。 还有就是并不是说面向对象一定优于面向过程。在很多 领域是无法实施面向对象的方法,如硬件编程和嵌入式编程 这种实时性和效率要求高的领域就无法用到面向对象。面向 对象的主要领域还是用在大型,复杂型的软件系统中。

注意事项

本文(面向对象程序设计与面向过程程序设计的区别)为本站会员(aaakkpc)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开