面向对象与面向过程.doc

面向对象与面向过程.doc

ID:54021423

大小:31.50 KB

页数:3页

时间:2020-04-12

面向对象与面向过程.doc_第1页
面向对象与面向过程.doc_第2页
面向对象与面向过程.doc_第3页
资源描述:

《面向对象与面向过程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、参考资料面向对象与面向过程——两种程序设计方法的比较与思考1引言目前,程序设计方法有两大类,一是面向过程的结构化程序设计方法,二是面向对象的程序设计方法。这两种方法的主要指导思想是什么,各有什么优势和特点,在学习和实用中各存在哪些问题。本文想对这一系列问题给出自己的思考。2两种程序设计方法简介面向过程的程序设计方法将解决问题的重点放在模拟问题的过程方面,它在解决问题时采用功能分解方法,即将一个系统看作一些功能块的组合,这些功能块可以被进一步分解,直到参与设计和编程的人员可以理解的步骤和过程为止。功能分解最终产生的模块和子模块作为程序构成成分的过程组件。当一个模块被分解为一系列的子模块之后,这

2、些子模块的执行过程可以是顺序(一个子模块紧接着另一个子模块之后执行)、选择(依据一定的条件执行某个模块)、循环(在特定的条件成立时重复执行某个子模块)。面向对象的程序设计方法是通过为数据和代码建立分块的内存区域来提供对程序进行模块化的一种方法。这些模块可以被作为样板在需要时建立其拷贝。而所谓对象实际上是计算机内存的一块区域,通过将内存分块,每个对象在功能上互相之间保持相对独立。这些内存块不但存储数据,也储存代码,这对保证对象是受保护这一点很重要,只有局部于对象中的代码才可以访问存储于这个对象中的数据,对象之间只能通过函数调用相互通信。3两种程序设计方法的特点结构化程序设计方法的指导思想是提高

3、程序的易读性和易维护性,追求结构良好的程序设计方法,而结构良好的程序主要体现在三方面:▼具有单入口,单出口的性质;▼不包含不会停止执行的语句,即执行时间是有限的:▼没有无用语句,即程序中所有语句都有被执行的机会。结构化程序设计方法只允许全部程序均由顺序、选择和循环三类基本结构构成。而顺序、选择和循环都具有结构良好程序的上述三个主要特征,所以,以这种方法设计出来的程序,实际上是由许多语句串起来的顺序结构,由于每个语句只有一个入口,一个出口,所以来龙去脉清楚,段落层次分明,即使程序长一点,仍能保持程序易读性和正确性。3/3面向对象程序设计方法的主要特点是:程序=对象+消息。面向对象程序的基本元素

4、是对象。面向对象程序一般由类的定义和类的使用两部分组成。程序中的一切操作都是通过向对象发送相应的消息来实现的,对象接收到消息后,启动有关方法完成相应的操作。一个程序中涉及到的类,可以由本程序自己定义(即本程序的设计者自己定义)也可以使用现成的类(包括所用语言系统为用户提供的类库中的类和他人已定义好的类).面向对象设计方法还可以有如下几方面的特点:一是可以控制程序的复杂性,这种方法把有关数据及其上的所有操作集中在一个个类中,这样,在程序中任何要访问这些数据的地方都只需简单地调用而不需要再重新编码,这就有效地控制了程序的复杂性。二是可以增强程序的模块性。类是一种抽象数据类型,类作为一个程序模块,

5、要比面向过程范畴的子程序的独立性强得多。三是可以提高程序的重用性。类是含有数据和程序的独立模块,它完全可以作为一个大粒度的程序构件,供同类程序直接使用。特别是,父类与子类之间的继承关系,也构成了程序重用的重要方式。四是可以改善程序的可维护性。由于对对象的操作只能通过消息传递来实现,所以,只要消息模式即对应的方法界面不变,方法体的任何修改不会导致发送消息的程序的修改。这显然对程序的维护带来了方便。五是能对现实世界的分类系统进行自然的描述,用类来直接描述现实世界的类型,可使计算机系统的描述和处理对象从数据扩展到现实世界和思维世界的各种事物,这实际上大大扩展了计算机系统的描述和处理范围。4两种程序

6、设计方法在学习和实用中的存在问题面向过程程序设计方法存在一些固有的缺陷,主要表现在:l)程序的可重用性差现在的应用程序变得越来越大,越来越复杂.但其中有很多重复性的工作,代码重用成为提高效率的关键。采用面向过程的程序设计方法,每次程序员进行一个新系统的开发,几乎都要从零开始,并且要针对具体问题做大量重复而繁琐的工作。即使代码重用,也只能进行简单的拷贝,若稍有不同的话,就必须一行一行的修改。这种方法不能直接继承引用已编好的应用程序的某些部分。2)程序的数据与操作相分离面向过程的程序设计方法,其程序的数据和有关操作是分开的,而且对同一数据的操作往往分散在程序的各处,如果一个或多个数据的结构发生了

7、变化,那么这种变化将波及程序的很多部分甚至整个程序,致使许多函数和过程必须重写,严重时会导致整个软件结构的崩溃。3)数据处理范围较小计算机的应用领域已从数值计算扩展到人类社会的各个方面,所需要处理的数据已从简单数字和字符发展为具有多种格式的多媒体数据,如文本,图形,图像,影像,声音等。面向过程程序设计方法所能描述的数据类型已无法应付,数据量的增大和程序规模的日益庞大也使面向过程的程序设计方法有更多地方显示出局

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。