问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

面向对象和面向过程分别是什么意思?

发布网友 发布时间:2022-04-22 22:28

我来回答

3个回答

热心网友 时间:2023-07-01 07:24

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

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

例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。

而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。

可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。

功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整。如果是面向对象的话,只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。

再比如我要把这个五子棋游戏改为围棋游戏,如果你是面向过程设计,那么五子棋的规则就分布在了你的程序的每一个角落,要改动还不如重写。但是如果你当初就是面向对象的设计,那么你只用改动规则对象就可以了,五子棋和围棋的区别不就是规则吗?(当然棋盘大小好像也不一样,但是你会觉得这是一个难题吗?直接在棋盘对象中进行一番小改动就可以了。)而下棋的大致步骤从面向对象的角度来看没有任何变化。

当然,要达到改动只是局部的需要设计的人有足够的经验,使用对象不能保证你的程序就是面向对象,初学者或者很蹩脚的程序员很可能以面向对象之虚而行面向过程之实,这样设计出来的所谓面向对象的程序很难有良好的可移植性和可扩展性。

热心网友 时间:2023-07-01 07:24

我语言不够官方,比方你写一个div点击事件要控制台输出123,过程就是第一步获取此div,第二步写onclick点击事件,第三步在事件函数里写console,总共三步,你在分析怎么实现这个效果的时候思路就是第一步第二步最后一步要怎么写,这就是面向过程;面向对象就是创建对象,把用到的属性方法绑到对象上,最后new一个对象实现效果。

热心网友 时间:2023-07-01 07:25

知乎上看到的一个解释
面向过程: 摇(狗尾巴)
面向对象: 狗.(摇尾巴)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 windows 10系统怎么调整电脑颜色 2. 面向过程的程序设计和面向对象的程序设计分别指什么?两者分别有什么特点? 面向对象的开发过程一般分为哪几个部分?简述每一部分的任务 什么是面向对象,什么是面向过程 win10笔记本电脑如何调屏幕色彩度? 面向对象设计步骤是什么? windows10系统怎么调颜色设置 windows10系统怎么调颜色 最佳打印模式是什么 请问在台湾,“打印”是不是被称为“列印”?“打印机”是不是被称为“列印机”?谢谢 打印机打印出的的页面内容为斜的是什么原因? 打印机打印时总出现让保存为*.xps的文件,是怎们回事,怎么解决? CAD在打印时默认为打印1份,如何使其默认打印为3份 打印机打印是出现另存为! 为什么在excel中打印预览是显示彩色,打印出为却是黑白的 打印图片时出现这种情况,打印出来为白纸怎么解决?可以正常打印文档表格等。 页面设置是为打印而进行的设置对吗 excel打印提示“打印标题应为连续区域并且是整行整列”是什么原因? HP打印机M1213打印状态为错误-正在打印,怎么解决 打印文件总是为待打印是怎么回事? win10系统电脑的颜色怎么调节 面向对象分析与设计面向对象设计包括哪些内容 面向对象和面向过程分别是什么? windows 10浏览器背景颜色怎么调 面向对象设计中主要的步骤包括哪些 什么是面向对象的程序设计? 能通俗得说明吗? 如何在Windows 10中创建自定义色调? java 什么是面向对象设计过程 怎么理解 看了很多就是不太理解 刚装的win10 系统颜色怎么调回来 什么是面向对象的设计 windows10显示器颜色怎么调正常 怎么理解面向对象程序设计 面向对象设计方法 面向对象方法包括什么? 面向对象程序设计语言和面向过程程序设计语言的区别有哪些? 面向对象的编程和面向过程的编程有什么区别? “面向对象"和"面向过程"到底有什么区别 面向对象和面向过程的区别有哪些 手机提示不支持Google Play服务要怎么办? 草莓干是酸性还是碱性食物