面向对象与面向过程——两种程序设计方法的比较与思考1引言目前,程序设计方法有两大类,一是面向过程的结构化程序设计方法,二是面向对象的程序设计方法
这两种方法的主要指导思想是什么,各有什么优势和特点,在学习和实用中各存在哪些问题
本文想对这一系列问题给出自己的思考2两种程序设计方法简介面向过程的程序设计方法将解决问题的重点放在模拟问题的过程方面,它在解决问题时采用功能分解方法,即将一个系统看作一些功能块的组合,这些功能块可以被进一步分解,直到参与设计和编程的人员可以理解的步骤和过程为止
功能分解最终产生的模块和子模块作为程序构成成分的过程组件
当一个模块被分解为一系列的子模块之后,这些子模块的执行过程可以是顺序(一个子模块紧接着另一个子模块之后执行)、选择(依据一定的条件执行某个模块)、循环(在特定的条件成立时重复执行某个子模块)
面向对象的程序设计方法是通过为数据和代码建立分块的内存区域来提供对程序进行模块化的一种方法
这些模块可以被作为样板在需要时建立其拷贝
而所谓对象实际上是计算机内存的一块区域,通过将内存分块,每个对象在功能上互相之间保持相对独立
这些内存块不但存储数据,也储存代码,这对保证对象是受保护这一点很重要,只有局部于对象中的代码才可以访问存储于这个对象中的数据,对象之间只能通过函数调用相互通信
3两种程序设计方法的特点结构化程序设计方法的指导思想是提高程序的易读性和易维护性,追求结构良好的程序设计方法,而结构良好的程序主要体现在三方面:▼具有单入口,单出口的性质;▼不包含不会停止执行的语句,即执行时间是有限的:▼没有无用语句,即程序中所有语句都有被执行的机会
结构化程序设计方法只允许全部程序均由顺序、选择和循环三类基本结构构成
而顺序、选择和循环都具有结构良好程序的上述三个主要特征,所以,以这种方法设计出来的程序,实际上是由许多语句串起来的顺序结构,由于每个