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

良纵 2016-02-23 07:41:40
楼主大一,上学期学完了c语言,差0.8分挂科,这学期开始学习Java。玩了半年,了却一下自己中学以来的遗憾,决定好好学习了。面对自己的未来,也开始有点急。望大神给予一个棒棒哒的解答。最好有个美丽的比喻,老师讲课没听懂。蟹蟹
...全文
1786 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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
  • 打赏
  • 举报
回复
给你举个例子,比如你要砍树, 面向过程:你拿斧子去砍树,主体是你,拿斧子,砍,一系列动作都需要你自己完成。 面向对象:把斧子当成主体对象,相当于个活物,斧子主动去砍树,跟你没关系。。 只能帮你到这里,接下来路自己走
第1章课程定位与教学案例综述. 1.1职业岗位能力需求分析 1.2课程设置和课程定位分析 1.3WebShop电子商城介绍 1.3.1电子商城需求分析 1.3.2电子商城系统设计 1.3.3电子商城数据库设计 1.4LibraryMIS图书管理系统介绍 1.4.1图书管理系统需求分析 1.4.2图书管理系统系统设计 1.4.3图书管理系统数据库设计 习题 第2章面向对象技术和建模基础 2.1面向对象方法 2.1.1面向对象方法的基本思想 2.1.2面向对象方法的发展 2.2面向对象的基本概念与特征 2.2.1面向对象的基本概念 2.2.2面向对象的主要特征 2.3面向对象分析 .2.3.1处理复杂问题的原则 2.3.200A方法的基本步骤 2.4面向对象设计 2.5面向对象实现 2.6面向对象方法的内涵 2.7软件建模概述 2.7.1软件建模的概念 2.7.2软件建模的用途 2.7.3软件建模的优点 习题 第3章UML简介 3.1UML的发展 3.1.1UML的发展历程 3.1.2理解UML建模 3.2UML的特点 3.3UML的结构 3.3.1UML的事物 3.3.2UML的关系 3.4UML的视图 3.4.1用例视图 3.4.2逻辑视图 3.4.3并发视图 3.4.4组件视图 3.4.5部署视图 3.5UML图形符号 3.5.1用例图 3.5.2类图 3.5.3对象图 3.5.4状态图 3.5.5活动图 3.5.6顺序图 3.5.7协作图 3.5.8组件图 3.5.9部署图 3.5.10UML 2.0新特性 3.6UML建模基本流程 习题 第4章UML建模工具简介 4.1常用UML建模工具 4.1.1 Rational Rose 4.1.2Enterprise Architect 4.1.3Together 4.1.4PowerDesigner 4.1.5 Visi0 4.1.6Tnffun Plat0 4.2Rational Rose安装与配置 4.2.1Rational Rose的运行环境 4.2.2Rational Rose的安装 4.2.3Rational Rose的配置 4.3使用Rational Rose建模 4.3.1Rational Rose主菜单 4.3.2Rational Rose的视图 4.3.3 Rational Rose建模的基本过程 习题 第5章需求建模 5.1用例模型概述 5.2用例图组成 5.2.1参与者 5.2.2系统 5.2.3用例 5.3识别和描述用例.. 5.3.1识别用例 5.3.2绘制WebShop电子商城用例图 5.3.3通过包对用例进行合理规划 5.3.4WebShop电子商城用例图(不含关系) 5.3.5用例描述 5.4用例间的关系 5.4.1泛化关系 5.4.2使用关系 5.4.3包含关系 5.4.4扩展关系 5.4.5关系小结 5.4.6WebShop电子商城用例图(含关系) 习题 第6章静态建模 6.1静态建模概述 6.2类图概述 6.3类图的基本组成 6.3.1类的概述 6.3.2绘制带属性的实体类 6.3.3绘制带操作的实体类 6.3.4绘制边界类图 6.3.5绘制控制类图 6.3.6UML中的类与语言中的类 6.4类之间的关系 6.4.1关联关系 6.4.2聚合关系 6.4.3组合关系 6.4.4泛化关系 6.4.5实现关系 6.4.6依赖关系 6.5对象图 6.5.1对象图概述 6.5.2对象图组成 6.5.3类图和对象图的比较 习题 第7章数据库建模 7.1PowerDesigner简介 7.2PowerDesigner安装和启动 7.2.1PowerDesigner的安装 7.2.2PowerDesigner的启动 7.3PowerDesigner概念数据模型 7.3.1概念数据模型概述 7.3.2PowerDesigner概念数据模型概述 7.4 PowerDesigner物理数据模型 习题 第8章动态建模 8.1动态建模概述 8.2状态图 8.2.1状态图概述 8.2.2状态图组成 8.2.3绘制员工下班回家状态图 8.3活动图 8.3.1活动图概述 8.3.2活动图组成 8.3.3绘制WebShop电子商城活动图 8.4活动图拾遗 8.4.1活动图与流程图的比较 8.4.2活动图与状态图的比较 8.5顺序图 8.5.1顺序图概述 8.5.2顺序图组成 8.5.3绘制WebShop电子商城顺序图 8.6协作图 8.6.1协作图概述 8.6.2协作图组成 8.6.3绘制WebShop电子商城协作图 8.7 顺序图拾遗 8.7.1 顺序图与协作图的比较 8.7.2 顺序图与协作图的互换 习题 第9章物理建模 9.1物理建模概述 9.1.1硬件 9.1.2软件 9.2组件图 9.2.1组件图概述 9.2.2组件图组成 9.2.3绘制WebShop电子商城组件图 9.3部署图 9.3.1部署图概述 9.3.2部署图组成 9.3.3绘制WebShop电子商城部署图 习题 第10章双向工程 10.1双向工程简介 10.2正向工程(生成Java代码) 10.3逆向工程 习题 第11章统一软件过程RUP 11.1RUP简介 11.2RUPT作流程 11.2.1业务建模 11.2.2需求 11.2.3分析设计 11.2.4实施 11.2.5测试 11.2.6部署 11.2.7配置与变更管理 11.2.8项目管理 11.2.9环境 11.3RUP迭代过程 11.3.1初始 11.3.2细化 11.3.3构造 11.3.4移交 11.3.5迭代计划示例(构造阶段) 习题 附录A综合实训 附录B Rational Rose2003主菜单 参考文献...

23,409

社区成员

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

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