面向对象和结构化程序设计的区别

结构化编程强调功能模块。

结构化程序的概念首先是从以往编程过程中无限制地使用转移语句而提出的。转移语句可以使程序的控制流程强制性的转向程序的任一处,在传统流程图中,就是用上节我们提到的"很随意"的流程线来描述这种转移功能。如果一个程序中多处出现这种转移情况,将会导致程序流程无序可寻,程序结构杂乱无章,这样的程序是令人难以理解和接受的,并且容易出错。尤其是在实际软件产品的开发中,更多的追求软件的可读性和可修改性,象这种结构和风格的程序是不允许出现的。比如:C,FORTRAN,PASCAL等等 
结构化程序设计方法主要由以下三种逻辑结构组成: 
1)顺序结构:顺序结构是一种线性、有序的结构,它依次执行各语句模块。 
2)循环结构:循环结构是重复执行一个或几个模块,直到满足某一条件为止。 
3)选择结构:选择结构是根据条件成立与否选择程序执行的通路。 
**采用结构化程序设计方法,程序结构清晰,易于阅读、测试、排错和修改。由于每个模块执行单一功能,模块间联系较少,使程序编制比过去更简单,程序更可靠,而且增加了可维护性,每个模块可以独立编制、测试。**

面向对象程序语言中支持的对象具有三个明显得特征: 
封装、继承、多态;而Javascript在类别和副本上并没有明显地分界。事实上,Javascript语言中所有的变量数据类型在JS中都是对象。JS总共支持4种对象:内置对象、自定义对象、浏览器程序对象和ActiveX对象。 return this只是返回该对象,以便别处引用,但并不是多出一个对象。 
所以,面向过程的程序设计中:程序=算法+数据结构(数据和数据类型) 
数据结构和算法相分离的,所以,系统庞大后,它的控制、移植、重用就成了问题。 
而在面向对象的程序设计中: 
对象=数据结构+算法 
程序=对象+对象+.....

结构化程序设计从系统的功能入手(有的用户也成为面向过程的设计),按照工程的标准和严格的规范将系统分解为若干功能模块,系统是实现模块功能的函数和过程的集合。

面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务(功能)为中心来描述系统。他把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。

https://www.cnblogs.com/flyingspark/archive/2012/03/16/2399704.html

原文地址:https://www.cnblogs.com/feng9exe/p/8274840.html

时间: 2024-10-06 18:38:43

面向对象和结构化程序设计的区别的相关文章

【结构化程序设计-01】

结构化程序设计简介 •结构化程序设计方法主张按功能来分析系统需求,其主要原则可概括为自顶向下,逐步求精,模块化等.结构化 程序设计首先采用结构化分析(Structrued Analysis,即SA)方法对系统进行需求分析,然后使用结构化设计 (Structrued Design,即SD)方法对系统进行概要设计.详细设计,最后采用结构化编程(Structrued Program,即SP)方式来实现系统.使用这种SA.SD和SP的方式可以较好的保证软件系统的开发进度和质量. •因为结构化程序设计方法

结构化程序设计 ?

面向对象程序设计的雏形早在1960年的Simula语言中就出现过.当时程序设计领域正面临一种危机:面对越来越复杂的软 硬件系统,传统的以C语言为代表的面向过程程序设计思想已越来越无法满足现实的需要——面向过程的设计无法很好地描述整个系统,同时设计结果也让人难以理 解,因而给软件的实现以及后期的维护带来了巨大的挑战,项目越大越难以实现,越到项目后期越难以实现,人们正陷入一场前所未有的软件危机中.为了化解这场 软件危机,人们开始寻找能够消灭“软件危机”这头怪兽的“银弹(silver bullet)”

面向对象和面向过程的区别

面向对象和面向过程 1.面向过程程序设计方法的实质上是从计算机处理问题的观点来进行程序设计工作:输入——运算——输出.面向过程程序设计者需要变更习惯的思维方法以贴近 计算机的内部工作机理.面向过程程序设计所具有的流的工作性质,试图通过信息流及其转换来认识系统,不仅加大了程序设计的难度,同时亦使得程序的可理解性 比较差. 面向对象程序设计方法中,一种普遍采用的优化方法是使用结构化的程序设计方法. 面向过程程序设计方法一般适宜采用自上而下的设计方法. 面向过程程序设计方法需要在一开始就全面的,自上而

面向对象分析与设计—基本概念部分

此次总结,我将面向对象分析与设计技术总结概括为三部分 第一部分:面向对象基本概念 第二部分:面向对象分析部分 第三部分:面向对象设计部分 第一部分 面向对象基本部分 1.1 软件开发过程概述 1.2 面向对象技术 面向对象(Object-oriented)技术是一种新型程序设计方法,或者说它是一种新的程序设计范型,其基本思想是使用对象.类.封装.继承.聚合.关联.消息.多态等基本概念来构造系统的软件开发方法.它充分体现了分解.抽象.模块化.信息隐蔽等思想,可以有效地提高软件生产率.缩短软件开发时

面向对象分析与设计—四色原型模式(彩色建模、领域无关模型)(概念版)

阅读目录: 1.背景介绍 2.问自己,UML对你来说有意义吗?它帮助过你对系统进行分析.建模吗? 3.一直以来其实我们被一个缝隙隔开了,使我们对OOAD遥不可及 4.四色原型模式填补这个历史缝隙,让我们真的看见OOAD的希望 5.在四色原型上运用彩色建模增强视觉冲击力 6.通过四色原型模式建模出领域无关模型 7.结束语:建模时你可以不考虑具体实现,但是建模者要懂技术实现 1.背景介绍 至今我都清楚的记得我第一次被面试官问起什么叫"建模"技术时的情景,那是好几年前的事情了,当时是胸有成竹

深入浅出面向对象分析与设计笔记

1.在搜索匹配时注意大小写问题. 2.别为了解决旧问题而产生新问题. 3.使用enum的好处:使用enum的方法或类会受到它的保护,不会有未定义的enum的值.因此不会有打错字或拼错字,对任何具有标准范围或合法值的东西都能避免取得坏数据. 4.任何时候看到重复程序代码,就找个地方进行封装. 5.委托: 6.Java匿名内部类是一种特殊的继承方式,既可以扩展类,也可以实现接口,但是不能两者兼备,而且若实现接口也只能实现一个接口.由于其没有名字,因此不会有命名构造器,但可以实例初始化.如果定义一个匿

结构化程序设计

结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用goto语句. 1.自顶向下:程序设计时,应先考虑总体,后考虑细节:先考虑全局目标,后考虑局部目标.不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化. 2.逐步求精:对复杂问题,应设计一些子目标作为过渡,逐步细化. 3.模块化:一个复杂问题,肯定是由若干稍简单的问题构成.模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块. 4.限制使用goto语句 结

面向对象分析与设计

面向对象基本概念 对象:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位.一个对象由一组属性和对这组属性进行操作的一组服务组成.从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用:它是一组属性和有权对这些属性进行操作的一组服务的封装体.客观世界是由对象和对象之间的联系组成的.主动对象是一组属性和一组服务的封装体,其中至少有一个服务不需要接收消息就能主动执行(称作主动服务). 类:把众多的事物归纳.划分成一些类是人类在认识

面向对象的几大设计原则

对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一.在面向对象设计中,可维护性的复用是以设计原则为基础的.每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平.       面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,它们是从许多设计方案中总结出的指导性原则.面向对象设计原则也是我们用于评价一个设计模式的使用效果的重