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

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

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

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

面向对象程序设计是一种围绕真实世界的概念来组织模型的程序设计方法,它使用对象来描述问题空间的实例。

对象:对象是包含现实世界物体特征的抽象实例,它反映了系统为之保存信息和与它交互的能力。

对象=数据+作用于这些数据上的操作。

类:类是对象集合的抽象,它规定了这些对象的公共属性和方法;对象为类的一个实例。关键字class不等同于‘类’。使用关键字class定义不是唯一完成面向对象编程的方法。例如JavaScript就用function定义的语句块来完成面向对象编程。

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

  1. java学习-初级入门-面向对象①-面向对象概述-结构化程序设计

    为了学习面向对象程序设计,今天我们先利用面向对象以前的知识,设计一个学生类. 要求进行结构化程序设计. 学生类: Student 要求:存储学生的基本信息(姓名.性别.学历层次和年级),实现学生信息的 ...

  2. paip.自适应网页设计 跟 响应式 设计的区别跟原理and实践总结

    paip.自适应网页设计 跟 响应式 设计的区别跟原理and实践总结 响应式Web设计(Responsive Web design)的理念是: 1 #-----------自适应布局VS响应式布局 2 ...

  3. UML和模式应用学习笔记-1(面向对象分析和设计)

    UML和模式应用学习笔记-1(面向对象分析和设计) 而只是对情节的记录:此处的用例场景为:游戏者请求掷骰子.系统展示结果:如果骰子的总点数是7,则游戏者赢得游戏,否则为输 (2)定义领域模型:在领域模 ...

  4. JAVA面向对象编程课程设计——网络版单机斗地主

    一.团队介绍 成员姓名 任务分配 成员课程设计博客链接 兰泽祥(组长) 数据库,斗地主规则的实现,人机自动出牌的算法,实体类的设计 JAVA面向对象编程课程设计--web版斗地主 吴修恩 JSP界面的 ...

  5. JAVA面向对象编程课程设计——web版斗地主

    一.团队课程设计博客链接 JAVA面向对象编程课程设计--网络版单机斗地主 二.个人负责模块或任务说明 实体类的设计 斗地主规则的实现 人机自动出牌的算法 实现数据库的DAO模式 三.自己的代码提交记 ...

  6. 《UML和模式应用》读书笔记(一)面向对象分析和设计简单示例

    在开始进行对象分析和设计之前,先通过“扔骰子”这个软件(游戏者扔两个骰子,如果总是是7,则赢,否则输),来简单分析下这个过程. 1:用例 需求分析,可能包括人们如何应用的场景或情节,这些都可以被编写成 ...

  7. 解析UML的面向对象分析与设计

    经常听到有朋友抱怨,说学了UML不知该怎么用,或者画了UML却觉得没什么作用.其实,就UML本身来说,它只是一种交流工具,它作为一种标准化交流符号,在OOA&D过程中开发人员间甚至开发人员与客 ...

  8. AJPFX总结面向对象(this和super的区别和应用)

    面向对象(this和super的区别和应用)(掌握)* A:this和super都代表什么        * this:代表当前对象的引用,谁来调用我,我就代表谁        * super:代表当 ...

  9. 针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求. 某公司...打印机...(笔试中遇到的题目)

    针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求.         举个例子:某公司有一台特殊打印机,还可以使用一年,一年后可能换为另一种打印机,这两种打印机都特殊而贵. ...

随机推荐

  1. 从无到有创建一个grunt项目

    在安装好grunt的前提下创建一个grunt的项目: 1.首先创建一个项目文件 就叫grunt-project 2.进入这个文件 创建一个index.html 在创建一个js文件,进去创建一个inde ...

  2. trigger事件就是继承某一个类的事件.

    <html><head><script type="text/javascript" src="/jquery/jquery.js" ...

  3. PHP 数组 & 字符串处理

    1:数组分割为字符串  implode 2:字符串分割为数组  explode() 3:替换字符串 eg: $a = "Hello world" str_replace(“H”,“ ...

  4. day34-1 面向对象概述

    目录 面向对象编程 面向过程&面向对象 Python中一切皆对象 什么是对象? 面向对象编程 面向过程&面向对象 都是一种解决问题的思想 面向过程:在解决问题的时候,关注的是解决问题的 ...

  5. 执行 cobbler get-loaders报错

    在配置cobbler安装时执行 cobbler get-loaders报错 [root@110:~]# cobbler get-loaders Traceback (most recent call  ...

  6. 【转】DBSCAN密度聚类算法

    DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法,和K-M ...

  7. 何为JQuery对象?

  8. C语言提高 (7) 第七天 回调函数 预处理函数DEBUG 动态链接库

    链表就是一个结构体 指针指向自身结构体类型 双向链表插入的时候 先改变自身 再改变两边 双向链表删除的时候 先改变两边 再改变自己 逆序一个单向链表 回调函数 指向函数的指针 4链表的遍历回调用法 / ...

  9. mongodb 和 mongoose 初探

    mongodb MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 1. 安装相关 1.1 下载 官网下载地址 :官网下载社区版 1.2 安 ...

  10. HDU1527 - 取石子游戏【威佐夫博弈】

    有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后把石子全部取完者为胜者. ...