A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 罗志辉 中级黑马   /  2015-9-27 15:26  /  624 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

面向对象和面向过程相比,具有哪些优势呢

7 个回复

倒序浏览
面向过程是根据系统的需求定义功能,每个功能都要对数据进行一次处理,每个功能都接收一些数据,处理完输出一些数据,这种处理方式也被称为面向数据流处理。
举个简单的例子:我要吃烤鸭,面向过程就是凡事都要我亲力亲为,吃烤鸭,首先要有鸭子,需要什么样的鸭子,去哪找这样的鸭子(概括的比较宽泛点),这些过程都要你自己去完成,那么第一步找鸭子完成了就要第二步,怎么做?需要什么调料,什么刀具,火候要掌握到什么程度,调料要放多少等等,过程比较繁杂。如果我的需求发生改变了,我不想吃烤鸭了,我要吃烧鸡,那么上面的过程要全部修改一遍。
而面向对象直接面向结果就行了。我要吃烤鸭,我不用自己做,我找个对象——烤鸭大厨就行了,剩下的过程交给大厨去做,假如我需求发生改变,我要吃烧鸡,那么直接跟大厨说我需求发生了改变,你去给我做只烧鸡,剩下的全交给大厨就行,至于怎么买鸭子,买什么样的鸭子,要怎么做,需要什么样的调料这些我统统不用考虑了。
再扩大点概念,我要吃烤鸭,我直接去烤鸭店就好了,全聚德也好,鸭掌门也罢,全凭喜好,其他的事情根本不用我去考虑。
所以面向对象与面向过程最大的优势就是:把复杂的事情简单化了,把我们从执行者变成了指挥者。
个人拙见,不足之处还望指正。
回复 使用道具 举报
IT黑马_梧桐 发表于 2015-9-27 17:15
面向过程是根据系统的需求定义功能,每个功能都要对数据进行一次处理,每个功能都接收一些数据,处理完输出 ...

举例子我能了解   实际在敲代码上具备什么优势呢
回复 使用道具 举报
敲代码上简化了啊,比如你一个开门的功能,你要是写过程,每次都要把过程写一遍,就是用手开门,开用手门,用手开门........
然后面向对象,你把开门这个过程包装成一个功能,然后创建对象调用功能就只要门.开,门2.开,当然这个功能字数有点少
回复 使用道具 举报
我的小感觉,可以稍微给你分享下。
最原始的例子:
打开冰箱,存储东西,关上冰箱。  这个是过程         主体:动作         
冰箱打开,冰箱储存,冰箱关上。        这个就是面向对象    主体:门
一个代表属性,一个方法。        总概: 可以理解为面向对象,更多的是为了方便,节约成本,提升效率
模糊点的话:可以理解为面向对象,更多的是去定义一个功能让门自己打开,自己关闭,要的就是功能的一个代替者。
在拿个生活实例。
就像你现在发帖子那么你就是面向对象,你首先创造了对象,就是这个页面和主体,同时你是一个指挥者, 指挥我们这些回复的,那么我们就是你的对象,我们就是可怜的执行者, 有我们自己的功能在于因为你做不了,你才需要定义我们来解答- -
最后一个例子哈,就像你要出门去上海,怎么去?  那么方法就是 坐汽车,火车,飞机,当然也可以走着去,面向对象就是你缺什么就去创造什么, 要是你有现成的那直接用就好。
         用某人的话说  到了一定境界,万物皆对象。
   打这么多 , 有奖金么?
回复 使用道具 举报
1:将复杂的事情简单化。 
2:面向对象将以前的过程中的执行者,变成了指挥者。 
3:面向对象这种思想是符合现在人们思考习惯的一种思想。
回复 使用道具 举报
面向对象就是将实物抽象化,以代码的形式将功能体现出来的一种思想!
回复 使用道具 举报
罗志辉 发表于 2015-9-30 11:33
举例子我能了解   实际在敲代码上具备什么优势呢

最明显的一个优势就是不用再重复的去写代码,自己写好一个类,如果想用它,直接创建它的一个对象就OK了,再用对象去调用封装好的方法或者变量,提高了代码的复用跟工作效率。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马