菲律宾旅游局官网:面向对象和面向过程的区别

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 08:13:31
刚刚学C++还搞不明白两者的区别
望老鸟指教

C是面向过程
C++、 JAVA是面向对象

面向对象和面向过程的区别

一个博大,一个精深.
总体而言,面向对象简单,面向过程对人员要求素质过高
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

艾兰.库伯的《软件创新之路》中提到:

面向过程和面向对象的区别并不像人们想象得那么大
面向对象的大部分思想在面向过程中也能体现
但面向过程最大的问题(也许是唯一先天的缺陷)在于随着系统的膨胀,面向过程将无法应付,最终导致系统的崩溃

面向对象的提出正是试图解决这一软件危机
目前看来,似乎有一定成效
但仍任重道远

---------------------------------------------------------------

做一些对比来说吧:

分析 基本构件 方法 工具
---------------------------------
面向过程 基于算法 函数/过程 数据流图、伪代码... ...
面向对象 基于对象 类 UML建模... Rose,viso等
---------------------------------------------------------------

其实我始终认为,不管是面向对象,还是面向过程,都体现了一种软件重用的思想!
只不过面向过程中重用的是过程和函数,但是面向对象重用的是类,一种将数据和处理数据的过程及函数封装在一起的实体,其实面向对象中的过程和函数和面向过程中的分别不是很大,所以数据流图和伪代码还是有用的。
面向对象一个很大的好处就是数据 和方法的封装,由此面向对象的三大特性得到发挥

面向过程就像一个细心的管家,事无具细全要考虑到,而面向对象就像是个家用电器,你只需只道他的功能,而不需知道它的工作原理