面向对象开发方法和结构化开发方法的区别
答案:2 悬赏:20 手机版
解决时间 2021-02-05 03:25
- 提问者网友:浮克旳回音
- 2021-02-04 12:52
面向对象开发方法和结构化开发方法的区别
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-02-04 13:28
结构化开发方法: 早期的程序开发,如C语言,都是用结构化开发方法。 结构化开发又叫做面向过程开发,具体原理是将一个软件分为多个过程(函数)进行开发,用结构体(struct)管理数据。这种开发方式使得代码的可读性变得很低,并且代码难以移植。 现在较常用的开发方法为面向对象开发(Object-Oriented),分为分析(Analysis)、设计(Design)、编程(Programming)三部分。 面向对象开发最大的成功之处在于添加了“对象”的概念。试想一下:如果我要编写一个游戏,在这游戏中,游戏的角色是一个对象,敌人是一个对象,这样我们就可以通过对每个对象进行管理从而减轻开发负担。面向对象有三个要素:属性、事件、方法。以一个人举例说明,一个人的身高、体重、姓名、国籍等都是他的“属性”,一个人可以走路、可以吃饭、可以写字,这些都是他的“方法”,一个人被热水烫到就会大叫起来,诸如这种反射都可以称作“事件”。面向对象还具有三个特性:封装、继承、多态。还是以一个人举例,一件事只有我记着,我不说出去,只有我知道,这就是“封装”。我父亲是搞文艺的,我生来就有艺术细胞,这就是“继承”。我有很多兄弟,当人们提到我的姓氏的时候就是在叫我们家的人,这就是“多态”。 比较两种开发方式,面向对象开发更加接近于现实生活,可以使人的思路更加明确,而面向结构开发则更注重思维逻辑,具有一定难度。所以面向对象开发是当前最好的开发方式。 面向对象开发是基于结构化开发的,还保留着结构化开发中的“函数”、“结构体”等元素。
全部回答
- 1楼网友:雪起风沙痕
- 2021-02-04 13:38
1.结构化设计方法
所谓结构化程序设计方法主张把软件系统按功能(对应结构化程序中的最小单元函数)进行逐步的细分,因此也被称为面向功能的程序设计方法。这种设计方法的每个功能都负责都数据进行一次处理,即每个功能都接受一些输入数据,处理完后输出一些数据,这种处理数据的方式也被称为面向数据流的处理方式。
结构化设计采用自顶向下设计方法,在设计阶段需要考虑每个模块应该分解成哪些子模块,每个子模块又该分解成哪些更小的子子模块。。。以此内推,直到模块被细化为一个个函数。
这种结构化的设计方法显然是有局限性的:
1.设计不够直观,与人类的思维方式不一致。因为开发者需要将客观世界的模型分解成一个个功能,每个功能用于完成一定的数据处理。
2.适应性差,可扩展性不强。由于采用自顶向下的设计方法,当用户需求改变时,需要自顶向下的修改模块结构,维护的成本相当大。
程序的三种基本结构:顺序结构、选择结构和循环结构。
2.面向对象设计方法
面向对象程序设计方法的基本思想是使用类、对象、继承、封装和消息等概念进行程序设计。它从现实世界客观存在的事物(对象)出发来构造软件系统。强调尽可能用人类自然的思维方式思考问题,认识问题,从而将现实世界中的事物抽象成系统中的类,作为系统的基本构成单元。这样构建的系统能直接映射客观世界,更符合现实世界的本来面貌。
面向对象的基本哲学是世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通信构成了完整的现实世界。
从程序设计的角度看,面向对象的程序设计语言必须有描述对象及其相互之间的关系的语言成分。归纳起来即:系统中一切都是对象;对象是属性及其操作的封装体;对象可以按性质划分为类,对象是类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。
在面向对象的编程过程中,开发者要从自己的使用角度和认识角度出发来定义类,从而模拟客观世界的事物,并让自己明白这种事物是用来做什么的,对我们有什么意义。用抽象的方法忽略一个事物中与目标类无关的那些方面,充分地注意与当前目标有关的方面。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯