日期:2014-05-20  浏览次数:20706 次

面向对象和面向过程的比较
虽然我潜意识里知道大概的都是怎样的。但是让我说,我还真说不出来。

各位能一起讨论讨论吗?
哪些方面都行,越多越好~~

例如,怎样用面向对象去解决面向过程,面向对象和面向过程的关注,任何方面?

------解决方案--------------------
我觉得这个人说得不错,虽然表达不是很准确,但很易懂:

简单的说吧,对象就是类
过程就是顺序,选择,循环、数组、函数

面向对象难学,学过了面向过程,也就是给对象打个底,类就把所有的过程中的顺序,选择,循环、数组以函数的方式封装在一个类里,面向对象的程序就是N个类组成的。
------解决方案--------------------
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 例如五子棋,面向过程的设计思路就是首先分析问题的步骤: 1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。 把上面每个步骤用分别的函数来实现,问题就解决了。 而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为: 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。 第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。
------解决方案--------------------
觉得多动手实践就清楚了。
------解决方案--------------------
一个是自由恋爱,自己按一定的顺序发展直到结婚,一个是包办婚姻,给你一个对象,按别人给你介绍的用,直接结婚!
------解决方案--------------------
2楼经典。
------解决方案--------------------
我记得看过一本面向对象的书:
有讲到:过程抽象,数据抽象,面向对象,大致意思是:面向过程是数据的抽象,面向对象是在数据抽象的内部组织过程抽象

------解决方案--------------------
过程抽象:过程/函数
数据抽象:记录和结构
面向对象:类:把所有访问与修改对象的类的过程集中到一个地方.这就是面向对象的根源
------解决方案--------------------
对象都需要一个过程来解决问题的

光有对象没过程那对象就是低能…………
------解决方案--------------------
要大致了解面向对象和面向过程的区别,找本经典一些的C++书,一般在前面几章都会有较为详细的理论说明,要想深入理解面向过程,那就找本C或者一个C项目感受下,要想深入理解面向对象那就找本JAVA的经典和JAVA的项目感受下就行了^-^
------解决方案--------------------
面向过程就是用代码具体写出题目解决的每一步骤.
我们经常所说的“对象”,一般指的是解决信息领域内所碰到题目的方法。特别是应用软件技术来解决题目的方法。如我们经常碰到的面向对象的编程(Object-Oriented Programming)、面向对象的分析(Object-Oriented Analysis)、面向对象的设计(Object-Oriented Design)等。应用前面所先容的关于对象的概念,可以对这些题目做进一步的分析。在面对较复杂的系统,我们可以将它作为一个对象来进行分析。一个系统(解决某个题目的全套解决方案)作为一个对象,可以由多个部分组成。同样,这个对象也可以由多个对象组成。对于同类的事物,可以由一个对象来表示。这样做的益处是显而易见的,它灵活而高效,可以大大减轻设计职员的工作量,简化实际的模型。举一个例子。在关系型数据库的设计当中,我们可以把一个元组当作对象,给它定义一组操纵方法。这些方法将适用于所有元组,从而我们不必在更大的范围内往细致的考虑不同的元组(如判定一个元素是否正当):由于它们有一组公共的面向本身的方法,它们“自己”可以“解决”自己的题目。更上一层的对象可以是一个表、视图等。表对象在元组对象的基础上又有它们自己的方法,如增加、删除等。从这个层面上讲,它也只需要做“自己”的事情,由于有元组对象的支持,它无须往考虑像元素是否正当这类的事情。甚至,有时为了满足我们还可以将元素或表群当作时对象并定义它们自己的方法。这样,更能显示面向对象的上风。 

------解决方案--------------------
用做爱来作比喻

那么如果是面向过程的话

就是一步一步的 先调情 再抚摸 再前戏 然后循环XX 最后结束

调理很清楚 先干嘛然后干嘛

所以面向过程会有一个主线把所有的事件给串起来




那么如果是面向对象的话

就要把这个事情分为很2个对象 比如有男人 有女人(也就是类)

当然他们之间会有交互 也会有各自的本领(也就是方法)

在做的时候 这2个对象互相调用发生关系(类之间的交互)

但是本质上 所有可以使用的手段都已经包含在男人和女人这2个对象里面了

因此面向对象的实质是对象之间的互相调用 你搞搞我 我搞搞你
------解决方案--------------------
建议你看一下这里的J2SE第三章面向对象(http://www.bjsxt.com/load.htm)
------解决方案--------------------
mark
我对这个问题也很模糊
------解决方案--------------------
面向过程: 在学习spring的AOP 他就是一种面象过程。 如:代理
面向对象: 把所以的事物看成一个整体
------解决方案--------------------
还是实践来体验一下好懂一些, 像用swing 做个窗口上面放些按钮 不都是各种对象吗,窗口有窗口对象,按钮有按钮对象.
------解决方案--------------------