怎么理解面向过程和面向对象的区别?

良纵 2016-02-23 07:41:40
楼主大一,上学期学完了c语言,差0.8分挂科,这学期开始学习Java。玩了半年,了却一下自己中学以来的遗憾,决定好好学习了。面对自己的未来,也开始有点急。望大神给予一个棒棒哒的解答。最好有个美丽的比喻,老师讲课没听懂。蟹蟹
...全文
1753 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
昆虫520 2017-09-29
  • 打赏
  • 举报
回复
我的理解用个比喻来说: 我现在要通过 车 的方式 从武汉去北京,怎么办? 面对过程:我自己开车去;首先我要学会开车,然后搞清楚 从武汉去北京的路线,然后路中要经过多少收费亭等等(然后你要解决这路上可能会出现的一系列的问题),结果:开了一天的车,到达北京! 面对对象:我坐客车过去,路上的种种问题都与我无关,统统都是司机的问题,而我只就面对司机说下我的目的:从武汉去北京。结果:坐了一天的车,到达北京!
  • 打赏
  • 举报
回复
比如吃饭这件事,面向过程就是:盛饭、拿筷子、夹菜、吃; 面向对象就是:我、碗、筷子、菜这几个是主体,然后只要有这些主体就可以吃饭,具体怎么吃就不需要去管了
chho93 2017-09-29
  • 打赏
  • 举报
回复
你用笔答题 面向过程: 你用手拿笔答第1题 然后你用手拿笔答第2题 然后你用手拿笔答第3题。。。 面向对象: 你是对象, 笔是对象, 题是对象。 你可以用手调用拿的方法拿笔, 笔可以调用写的方法答题, 题有答题的方法。 面向对象的好处就是, 你可以继续用你写的这个拿的方法 拿别的, 笔也可以被别的人调用, 题可以任何人答。 复用分离灵活,就像排列组合或者插座
雨露天泽 2017-09-27
  • 打赏
  • 举报
回复
○ 可以拿生活中的实例来理解面向过程与面向对象,例如五子棋,面向过程的设计思路就是首先分析问题的步骤: § 1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤 2,9、输出最后结果。把上面每个步骤用不同的方法来实现。   § 如果是面向对象的设计思想来解决问题。面向对象的设计则是从另外的思路来 解决问题。整个五子棋可以分为1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对 象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用 第三类对象(规则系统)来对棋局进行判定。 来自 <http://www.cnblogs.com/ldnh/p/5475069.html>
良纵 2016-04-18
  • 打赏
  • 举报
回复
引用 10 楼 yaotomo的回复:
你们的分数还有零点几分?? (1)面向过程程序设计方法采用函数(或过程)来描述对数据的操作,但又将函数与其操作的数据分离开来;面向对象程序设计方法将数据和对数据的操作封装在一起,作为一个整体来处理。 函数与数据是否分离 (2)面向过程程序设计方法以功能为中心来设计功能模块,难于维护;而面向对象程序设计方法以数据为中心来描述系统,数据相对于功能而言具有较强的稳定性,因此更易于维护。 (3)面向过程程序的控制流程由程序中预定顺序来决定;面向对象程序的控制流程由运行时各种事件的实际发生来触发,而不再由预定顺序来决定,更符合实际需要。 预定顺序;由运行时各种事件的实际发生来触发 (4)面向对象程序设计方法可以利用框架产品(如MFC,Microsoft Foundation Classes)进行编程。 面向对象可利用框架 面向对象和面向过程的根本差别,在于封装之后,面向对象提供了面向过程不具备的各种特性,最主要的,就是继承和多态。
60.8分。 好久以前的帖子了,现在我已经开始了正经的学习,从网上下载网课,学校的老师起到回答我提出的问题的作用。对于面向对象和面向过程,现在我的理解已经不在那么肤浅,感谢各位。
yaotomo 2016-03-12
  • 打赏
  • 举报
回复
你们的分数还有零点几分?? (1)面向过程程序设计方法采用函数(或过程)来描述对数据的操作,但又将函数与其操作的数据分离开来;面向对象程序设计方法将数据和对数据的操作封装在一起,作为一个整体来处理。 函数与数据是否分离 (2)面向过程程序设计方法以功能为中心来设计功能模块,难于维护;而面向对象程序设计方法以数据为中心来描述系统,数据相对于功能而言具有较强的稳定性,因此更易于维护。 (3)面向过程程序的控制流程由程序中预定顺序来决定;面向对象程序的控制流程由运行时各种事件的实际发生来触发,而不再由预定顺序来决定,更符合实际需要。 预定顺序;由运行时各种事件的实际发生来触发 (4)面向对象程序设计方法可以利用框架产品(如MFC,Microsoft Foundation Classes)进行编程。 面向对象可利用框架 面向对象和面向过程的根本差别,在于封装之后,面向对象提供了面向过程不具备的各种特性,最主要的,就是继承和多态。
滔滔淘淘桃桃 2016-03-09
  • 打赏
  • 举报
回复
我之前花了一个礼拜,写了一个面向对象的js页面。现在觉得自己蠢爆了。js还要面向对象
注号帐被册 2016-02-26
  • 打赏
  • 举报
回复
需要你做一个礼品盒。 面向过程:你不知道盒子是什么样子,你只知道用你所能用的工具去做出一个盒子就可以了。 面向对象:你首先要知道你要做成一个什么样的盒子(盒子的属性),然后你用工具去完成就行了。
me阿木 2016-02-26
  • 打赏
  • 举报
回复
引用 6 楼 oh_Maxy 的回复:
本质都是为了解决问题。 相对来说,面向过程会关注解决问题的一系列步骤。面向对象就显得方便些,只需要调用某个类或者接口的方法即可。 当然,这个类或者接口最终要解决这个问题,还是会实现“面向过程”的功能的,区别在于思维方式不同。 最终都是为了解决问题。 这里也举个例子吧,比如我们要乘车去某个地方。面向过程的方式,你上车后,要告诉司机怎么走,在哪转弯等等。 面向对象方式:司机大哥,我要去天上人间小区。。
这个比喻不错
oh_Maxy 2016-02-25
  • 打赏
  • 举报
回复
本质都是为了解决问题。 相对来说,面向过程会关注解决问题的一系列步骤。面向对象就显得方便些,只需要调用某个类或者接口的方法即可。 当然,这个类或者接口最终要解决这个问题,还是会实现“面向过程”的功能的,区别在于思维方式不同。 最终都是为了解决问题。 这里也举个例子吧,比如我们要乘车去某个地方。面向过程的方式,你上车后,要告诉司机怎么走,在哪转弯等等。 面向对象方式:司机大哥,我要去天上人间小区。。
friendly63 2016-02-25
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!
朗晴 2016-02-25
  • 打赏
  • 举报
回复
这个过程是交给一个写好程序的斧子去完成; 就好比你有个洗衣机,你只负责把你自己的衣服扔进去而不是别人的衣服,当然别人扔衣服进去洗是一样的过程。 洗衣机是一个写好代码的成熟产品……
良纵 2016-02-25
  • 打赏
  • 举报
回复
引用 1 楼 VNanyelieshou的回复:
给你举个例子,比如你要砍树, 面向过程:你拿斧子去砍树,主体是你,拿斧子,砍,一系列动作都需要你自己完成。 面向对象:把斧子当成主体对象,相当于个活物,斧子主动去砍树,跟你没关系。。 只能帮你到这里,接下来路自己走
意思就是说,面向过程,我就不用管那么多细枝末节,坐在办公室发号施令了呗
fondOfJava 2016-02-24
  • 打赏
  • 举报
回复
我也不知道。
VNanyesheshou 2016-02-23
  • 打赏
  • 举报
回复
给你举个例子,比如你要砍树, 面向过程:你拿斧子去砍树,主体是你,拿斧子,砍,一系列动作都需要你自己完成。 面向对象:把斧子当成主体对象,相当于个活物,斧子主动去砍树,跟你没关系。。 只能帮你到这里,接下来路自己走

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧