结构化程序设计和面向对象程序设计的主要特征各是什么?

说详细一点啊 !我是初学者!

结构化程序设计(structured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。其概念最早由E.W.Dijikstra在1965年提出的。是软件发展的一个重要的里程碑,它的主要观点是采用自顶向下、逐步求精的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、重复三种基本控制结构构造 。
  详细描述处理过程常用三种工具:图形、表格和语言。
  图形:程序流程图、N-S图、PAD图
  表格:判定表
  语言:过程设计语言(PDL)
  结构化程序设计的概念是尼克劳斯�6�1沃思Niklaus Wirth在60年代末提出的,其实质是控制编程中的复杂性。结构化程序设计曾被称为软件发展中的第三个里程碑。该方法的要点是:
  (1) 没有GOTO语句;//在有资料里面说可以用,但要谨慎严格控制GOTO语句,仅在下列情形才可使用:
  ·用一个非结构化的程序设计语言去实现一个结构化的构造。
  ·在某种可以改善而不是损害程序可读性的情况下。
  (2) 一个入口,一个出口;
  (3) 自顶向下、逐步求精的分解;
  (4) 主程序员组。
  其中(1)、(2)是解决程序结构规范化问题;(3)是解决将大划小,将难化简的求解方法问题;(4)是解决软件开发的人员组织结构问题。 所谓面向对象的程序设计,就是把面向对象的思想应用到软件工程中,并指导开发维护软件。
  对象是由数据和容许的操作组成的封装体,所谓面向对象,就是基于对象的概念,以对象为中心,类和继承为构造机制,认识了解刻画客观世界以及开发出相应的软件系统。
  面向对象的程序设计(OOP)并不是刚刚提出来的,主要是由于C++和Java这类语言的传播,OOP最近才显得越来越重要了。为什么面向对象的设计如此流行呢?从理论上讲,用面向对象的语言可以处理任何其他计算机语言所能完成的事情。然而当建立基于智能体的模型时,OOP对于开始的程序员和后来的程序读者都表现出了很大的优势。
  面向对象的程序设计特点
  
  1.编程模型
  所有计算机均由两种元素组成:代码和数据.精确的说,有些程序是围绕着"什么正在发生"而编写,有些则是围绕"谁正在受影响"而编写的.
  第一种编程方式叫做"面向过程的模型",按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码.如 C 等过程化语言.
  第二种编程方式叫做"面向对象的模型",按这种模型编写的程序围绕着程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模型在组织方式上有:抽象,封装,继承和多态的好处.
  2.抽象
  面向对象程序设计的基本要素是抽象,程序员通过抽象来管理复杂性.
  管理抽象的有效方法是使用层次式的分类特性,这种方法允许用户根据物理含义分解一个复杂的系统,把它划分成更容易管理的块.例如,一个计算机系统是一个独立的对象.而在计算机系统内部由几个子系统组成:显示器,键盘,硬盘驱动器,DVD-ROM,软盘,音响等,这些子系统每个又由专门的部件组成.关键是需要使用层次抽象来管理计算机系统(或其他任何复杂系统)的复杂性.
  面向对象程序设计的本质:这些抽象的对象可以被看作具体的实体,这些实体对用来告诉我们作什么的消息进行响应.
  /* (我的理解)
  *计算机是一个实体,我要输入字符,显示器显示出来,那么
  *计算机(对象).输入(键盘属性).显示(显示方法)
  *使用分层来引用,操作.而不用管计算机内部如何处理.
  *只要有计算机对象,它就能响应我的操作,而我敲键盘,
  *计算机对象就把这个消息传给屏幕,屏幕显示.
  */
  计算机对象包含了它所有的属性,以及操作,这就是面向对象程序设计的三大原则之一:封装.
  3.封装
  封装是一种把代码和代码所操作的数据捆绑在一起,使这两者不受外界干扰和误用的机制.封装可被理解为一种用做保护的包装器,以防止代码和数据被包装器外部所定义的其他代码任意访问.对包装器内部代码与数据的访问通过一个明确定义的接口来控制.封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,同时不用担心不可预料的副作用.
  在JAVA中,最基本的封装单元是类,一个类定义着将由一组对象所共享的行为(数据和代码).一个类的每个对象均包含它所定义的结构与行为,这些对象就好象是一个模子铸造出来的.所以对象也叫做类的实例.
  在定义一个类时,需要指定构成该类的代码与数据.特别是,类所定义的对象叫做成员变量或实例变量.操作数据的代码叫做成员方法.方法定义怎样使用成员变量,这意味着类的行为和接口要由操作实例数据的方法来定义.
  由于类的用途是封装复杂性,所以类的内部有隐藏实现复杂性的机制.所以JAVA中提供了私有和公有的访问模式,类的公有接口代表外部的用户应该知道或可以知道的每件东西.私有的方法数据只能通过该类的成员代码来访问.这就可以确保不会发生不希望的事情.
  4.继承
  继承是指一个对象从另一个对象中获得属性的过程.是面向对象程序设计的三大原则之二,它支持按层次分类的概念.例如,波斯猫是猫的一种,猫又是哺乳动物的一种,哺乳动物又是动物的一种.如果不使用层次的概念,每个对象需要明确定义各自的全部特征.通过层次分类方式,一个对象只需要在它的类中定义是它成为唯一的 各个属性,然后从父类中继承它的通用属性.因此,正是由于继承机制,才使得一个对象可以成为一个通用类的一个特定实例.一个深度继承的子类将继承它在类层次中的每个祖先的所有属性.
  继承与封装可以互相作用.如果一个给定的类封装了某些属性,它的任何子类将会含有同样得属性,另加各个子类所有得属性.这是面向对象程序在复杂性上呈线性而非几何增长的一个重要概念.新的子类继承其所有祖先的所有属性.子类和系统中的其他代码不会产生无法预料的交互作用.
  5.多态
  多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法,用"一个接口,多个方法"来描述.可以通过方法的参数和类型引用.
  6.封装,继承,多态的组合使用
  在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码.例如:汽车
  从继承的角度看,驾驶员都依靠继承性来驾驶不同类型(子类)的汽车,无论这辆车是轿车还是卡车,是奔驰牌还是菲亚特牌,驾驶员都能找到方向盘,手刹,换档器.经过一段时间驾驶后,都能知道手动档与自动档之间的差别,因为他们实际上都知道这两者的共同超类:传动装置.
  从封装的角度看,驾驶员总是看到封装好的特性.刹车隐藏了许多复杂性,其外观如此简单,用脚就能操作它.发动机,手刹,轮胎大小的实现对与刹车类的定义没有影响.
  从多态的角度看,刹车系统有正锁反锁之分,驾驶员只用脚踩刹车停车,同样的接口可以用来控制若干种不同的实现(正锁或反锁).
  这样各个独立的构件才被转换为汽车这个对象的.同样,通过使用面向对象的设计原则,程序员可以把一个复杂程序的各个构件组合在一起,形成一个一致,健壮,可维护的程序
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-28
“面向过程程序设计”、主要是为拉大型的工程计算或者为拉完成某个任务而求出结果的对界面则要求不高 其优点是运行速度快

“面向对象程序设计

主要是对各种事物能形象的描述并且模拟在计算机上运行它兼容以上面向过程的好多功能 优点是界面比较好做 缺点执行速度和容量没有上面的快

结构化程序设计 对于以上二者均适合 这只是说明设计是的思路和方法 按照俺自己的理解:
前者是按照人们日常做事的顺序来设计语言,即无论做什么事都是按照顺序来执行的,一个个的功能模块都是联系在一起的。总之:做事是有一个个的动作完成的。
后者则是把我们客观世界里的事物都封装起来,各个事物之间是相互独立的。做什么事情都是由一个个的事物共同完成的,而不是顺序执行。总之:做事是由一个个的事物共同完成的。

俺总结的不好,但是是俺自己的看法。

这样说比较简单~~~呵呵~~~结构化程序设计方法和面向对象程序设计二者有何区别与联系请参照以下网站: http://210.40.7.188/E'ojc/OOP/OOP_010/1103.htm希望对你有所帮助。 学习ing~~~本回答被网友采纳
第2个回答  推荐于2018-04-18
  “面向过程程序设计”、主要是为拉大型的工程计算或者为拉完成某个任务而求出结果的对界面则要求不高 其优点是运行速度快

“面向对象程序设计”

主要是对各种事物能形象的描述并且模拟在计算机上运行它兼容以上面向过程的好多功能 优点是界面比较好做 缺点执行速度和容量没有上面的快

结构化程序设计 对于以上二者均适合 这只是说明设计是的思路和方法 按照俺自己的理解:
前者是按照人们日常做事的顺序来设计语言,即无论做什么事都是按照顺序来执行的,一个个的功能模块都是联系在一起的。总之:做事是有一个个的动作完成的。
后者则是把我们客观世界里的事物都封装起来,各个事物之间是相互独立的。做什么事情都是由一个个的事物共同完成的,而不是顺序执行。总之:做事是由一个个的事物共同完成的。本回答被网友采纳
第3个回答  2013-06-28
这样各个独立的构件才被转换为汽车这个对象的.同样,通过使用面向对象的设计原则,程序员可以把一个复杂程序的各个构件组合在一起
第4个回答  2013-06-28
楼上很泛泛,我想他是想要点具体的吧... 其实没必要问,如果人工回答,需要很多很多内容.我想没人有这么勤快吧.

结构化程序设计和面向对象程序设计的主要特征各是什么?
顺序结构 顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。例子:也就是说,必须按照编程语言的执行顺序;例如php(我学的就是php),它的从上到下,从左到右。要是你这么写一定是错的:<?php echo $a;\/\/显示$a的值 a=0;\/\/给$a赋值 ?> 结果是没有,提示出错,因为我显示$a的...

结构化程序设计和面向对象程序设计的主要特征各是什么?
在计算机编程领域,结构化程序设计与面向对象程序设计是两种主要的编程范式。它们各自具有独特的特征,以满足不同应用场景的需求。结构化程序设计强调程序的清晰、易读、模块化。它遵循一系列基本原则,如顺序、选择、循环。当型循环是其循环结构之一,表示在执行循环体前先判断条件。若条件满足,则循环体执行...

什么叫做结构化程序设计,面向对象的程序设计,以及其特点?
采用结构化程序设计方法,程序结构清晰,易于阅读、测试、排错和修改。由于每个模块执行单一功能,模块间联系较少,使程序编制比过去更简单,程序更可靠,而且增加了可维护性,每个模块可以独立编制、测试。面向对象程序语言中支持的对象具有三个明显得特征:封装、继承、多态;而Javascript在类别和副本上并没有...

面向对象程序设计的主要特点是什么?
面向对象程序设计有4个主要特点,分别是:抽象、封装、继承、多态。以下是具体解释;一、抽象和封装 类和对象体现了抽象和封装 抽象就是解释类与对象之间关系的词。类与对象之间的关系就是抽象的关系。一句话来说明:类是对象的抽象,而对象则是类得特例,即类的具体表现形式。封装两个方面的含义:一是...

结构化程序设计与面向对象程序设计有哪些异同?
结构化程序设计与面向对象主要的区别在于设计思维上不同,另外封装性上结构化编程比较难于封装,复用性上也不如面向对象编程。1、设计思维。面向过程程序设计方法的实质上是从计算机处理问题的观点来进行程序设计工作:“输入——运算——输出”。面向过程程序设计者需要变更习惯的思维方法以贴近计算机的内部...

结构化程序设计与面向对象设计的主要区别是什么
3)违反职能均衡原则。面向对象程序设计 思想:在进行程序开发之前,先将程序的业务变化进行合理的分析,将程序中的代码与现实中的事物结构特征结合起来考虑。优点:实现了程序系统的可扩展性,可重用性,可维护性。缺点:体系庞大,难以掌握。2.面向对象程序设计和结构化程序设计应用程序的区别 区别:对数据...

什么是结构化程序设计与面向对象程序设计方法?
1、结构化程序设计 在结构化程序设计中,任何程序段的编写都基于3种结构:分支结构、循环结构和顺序结构。程序具有明显的模块化特征,每个程序模块具有惟一的出口和入口语句。结构化程序的结构简单清晰,模块化强,描述方式贴近人们习惯的推理式思维方式,因此可读性强。2、面向对象程序设计 面向对象程序设计...

目前常用的程序设计方法有哪些简述每种程序设计方法的基本思想_百度知 ...
总的来说,结构化程序设计和面向对象程序设计各有优势,适用于不同的场景。结构化程序设计适用于需要清晰结构和易于维护的程序,而面向对象程序设计则更适合解决复杂的问题,具有更高的灵活性和复用性。开发者可以根据具体需求选择合适的方法,以达到最佳的开发效果。

面向对象程序设计的特点和优点
1、面向对象程序设计方法以对象为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换。这是面向对象程序设计方法最主要的特点;2、面向对象程序设计方法解决了传统结构化开发方法中客观世界描述工具与软件结构的不一致性问题,缩短了开发周期,解决了从分析和设计到软件模块结构之间多次转换...

了解面向过程和面向对象
(1)设计原则 结构化程序设计采用自顶向下、逐步求精的设计方法,各个模块通过“顺序、选择、循环”的控制结构进行连接,并且只有一个入口、一个出口。结构化程序设计的原则可表示为:程序=(算法)+(数据结构)。算法是一个独立的整体,数据结构(包含数据类型与数据)也是一个独立的整体。两者分开设计,以...

相似回答