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

什么是面向对象过程模型,有什么优点和缺点

发布网友 发布时间:2022-04-26 21:51

我来回答

2个回答

热心网友 时间:2023-09-10 12:17

优点:
(1)是一种全新的系统分析设计方法(对象、类、结构属性、方法)
(2)适用于各类信息系统的开发。
(3)实现了对客观世界描述到软件结构的直接转换 ,大大减少后续软件开发量。
(4)开发工作的重用性、继承性高,降低重复工作量。
(5)缩短了开发周期。
缺点:
类和继承等特点使得程序会多很多指针操作来定位函数入口和自身要维护虚拟方法表等额外的工作,程序的处理效率相对要低(但程序开发效率高)。所以现在单纯的C语言还是大为用武之地的。

热心网友 时间:2023-09-10 12:18

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。
而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。
可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。
功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整。如果是面向对象的话,只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。
再比如我要把这个五子棋游戏改为围棋游戏,如果你是面向过程设计,那么五子棋的规则就分布在了你的程序的每一个角落,要改动还不如重写。但是如果你当初就是面向对象的设计,那么你只用改动规则对象就可以了,五子棋和围棋的区别不就是规则吗?(当然棋盘大小好像也不一样,但是你会觉得这是一个难题吗?直接在棋盘对象中进行一番小改动就可以了。)而下棋的大致步骤从面向对象的角度来看没有任何变化。
当然,要达到改动只是局部的需要设计的人有足够的经验,使用对象不能保证你的程序就是面向对象,初学者或者很蹩脚的程序员很可能以面向对象之虚而行面向过程之实,这样设计出来的所谓面向对象的程序很难有良好的可移植性和可扩展性。

由以上解释,面向对象的模型和面向过程的模型的优缺点应该略知一二了吧!
另外,面向对象的特点可以参考:http://zhidao.baidu.com/question/229038589.html追问兄台,我不是问什么是面向对象,什么是面向过程!我问的是什么是基于面向对象的过程模型,懂吗?

追答不懂

参考资料:http://zhidao.baidu.com/question/229038589.html

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 什么是面向对象?为什么要用面向对象来编程? 面向对象模型的介绍 什么叫面向对象的数据模型 面向对象测试模型包括哪几个要素 1. 面向对象分析模型的五个层次是什么? 2. 对象的五个特点是什么? 3. 为什么说对象是动态的? 简述三种面向对象模型的主要功能。 面向对象的分析通常要建立三个模型,请问这三个模型的作用 面向对象的模型 面向对象模型主要由以下哪些模型组成 面向对象分析中的三种主要模型是什么?它们之间有什么关系? 面向对象的分析模型包括哪些内容 怎么删除ipad里不能删除的照片 手机qq扫二维码登录如何解除 怎么在ipadQQ上扫二维码登录? qq登陆怎么把二维码扫描换成动态密码登陆 QQ2013的二维码在哪?登2013版手机管家的大神们帮帮忙 qq2013有二维码登陆后,闪登在哪里啊? 微信支付的密码,如何设置才安全? 梦见去世的老父亲还活着并且还给他伺候他有什么预兆吗? 梦见去世父亲还活着,我还握着他的手,担心他一人生病怎么办? 怎样消灭隐翅虫? 家里怎么杀隐形虫? 家里出现隐翅虫咋办? 怎么杀掉房间里的隐翅虫 发现卧室有隐翅虫,应用什么方法彻底清出? 家里最近发现有隐翅虫怎么办 屋里为什么会有隐翅虫怎么办 烦请高手解决下!!!怎样除房间里的隐翅虫~~急急急啊~ 房里有隐翅虫怎么办 打死隐翅虫怎么办 问: 1这是蚂蚁吗?要怎么消灭? 房间里出现好多这种 我现在电脑考试软件打不开,请问有什么方式可以解决? 为什么我的电脑打不开自考过程考核软件? 电脑安装了未来教育一级考试软件一直打不开? 为什么用光盘安装的模拟考试软件电脑打不开啊??求助 知到软件的作业考试打不开是为什么? 用光盘安装的模拟考试软件电脑打不开 下载易考考试软件后,电脑系统瘫痪,开不了机怎么办? 电脑安装了未来教育一级考试软件一直打不开 我在电脑上安装了一个新思路计算机考试软件,可是打不开每次一打开就出现一串英文: