结构化程序设计与面向对象设计主要区别?

来源:悟空问答 编辑:李元芳 手机版

结构化程序设计简洁明了,不会像面向对象那样绕圈子。因此,编写小工具时比较适合用结构化设计,但是面向对象由于引进对象概念,大大提高了软件编写的效率,适合多人协作编写较大的软件。一个灵活,一个稳重。

结构化程序设计与面向对象设计主要区别?

由热心用户用户7691840304187提供的回答:

解决问题的思路都是相同的,只是复用的问题,面向对象最大的好处,是把处理问题的过程封装起来,然后复用,即调用以前写好的方法,至于里面怎么解决问题(即算法都是一样滴)

首先两个的概念都有分而治之的设计想法。结构化的着力点是功能,以功能切割为各自模块进行实现的方式,它是直接面对解决需求问题而来。它将功能分割成小块,使各自的区域隔离解耦,也就是分模块。然后根据设计流程再将这些模块拼接起来,就可以形成一个比较完善功能的程序项目。面向对象,它的基石当然就是对象了。通过分析项目需求搭建对象模型,分析对象的功能及关系。面向对象也是要模块化的,这一点和结构化的模块相近但不同。结构化中模块是基础是自然产物,面向对象中模块化是设计思考的方式。看清楚两者的根本,再去看它们的那些xx设计xx说明xx思想,就不至于混乱了。两者并非对立或者分歧,都是发展历程上的丰碑。优点的话 对象有很多,应该都常识了,问题就是 很容易过度抽象过度设计过度分离过度xx。结构化的话,优点是直接,围绕着解决问题实现功能为目的,至于缺点那就 是面向对象的优点 取反。找了一段论文里得结论,补充下。程序设计方法的发展经历了 4 代,结构化和面向对象是软件工程的程序设计方法中最本质的思想方法,结构化体现了抽象思维和复杂问题求解的基本原则,面向对象则深刻反映了客观世界由对象组成这一本质特点。各种程序设计方法的一个重要区别在于问题分解的出发点不同(因子),思维模式不同。计算机中数据结构和过程是密切相关的,结构化方法将数据结构和过程分开考虑,面向对象的方法组合数据和过程于对象之中。理论上,对象式实际方法将产生更好的模块内聚和耦合特性,使得软件更易于重用与维护,但在实践中程序设计方法需要工具和环境的支撑,需要考虑软件生命周期的各个环节,在选择程序设计方法时,需要综合考虑这些因素。

可能不是很准确但是简单的理解,面向对象程序设计就是把几乎所有的东西都抽象成类和对象,你的程序实现都是对对象进行处理。 如,面向对象中,你定义一个类--人, class person { 方法1; 方法2; . }; 你只要定义人的一个对象调用人的方法

声明:本内容来自悟空问答,版权归悟空问答所有,本网旨在传播知识,不代表本网赞同以上意见,如有任何问题请与本网联系!

我来个你举个例子 比如和楼上一样的 盖房子 所谓结构化的盖法 就是把你要盖的房子拆成房间、大厅、厕所、厨房,然后分别交给4个人去设计,4个人设计好了,你在吧4个部分组合起来,成为你的房子 如果是面向对象的盖法,就是你一开始就把房子设计

扩展阅读,根据您访问的内容系统为您准备了以下扩展内容,希望对您有帮助。

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

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

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

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

结构化程序设计与面向对象设计的主要区别是什么?

  1. 思想的区别* 结构化程序设计思想:在编程之前,先对程序系统根据业务需要进行整体的规划,描述出系统的流程。对程序系统进行模块化分和功能分配。设计出各种图表,指明数据的流向。

    缺点:

    1)缺少扩展性:进行程序设计的时候只将系统着眼于现有业务功能的实现,没有考虑到系统将来的业务变化情况。

    2)灵活性差:进行程序设计,时没有对软件的系统的设计和实现进行合理的分工。

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

  2. 面向对象程序设计和结构化程序设计应用程序的区别区别:对数据和对数据的处理的区别面向对象应用程序将程序中的数据和对数据的操作描述为一个整体,即类。

结构化程序设计与面向对象设计主要区别

结构化程序设计与面向对象主要的区别在于设计思维上不同,另外封装性上结构化编程比较难于封装,复用性上也不如面向对象编程。

1、设计思维。

面向过程程序设计方法的实质上是从计算机处理问题的观点来进行程序设计工作:“输入——运算——输出”。

面向过程程序设计者需要变更习惯的思维方法以贴近计算机的内部工作机理。面向过程程序设计所具有的流的工作性质,试图通过信息流及其转换来认识系统,不仅加大了程序设计的难度,同时亦使得程序的可理解性比较差。

面向对象在分析问题时,以对象为单位,考虑它的属性及方法,与传统的面向过程是完全不同的,面向过程在分析问题时,以一个具体的流程(事务过程)为单位,考虑它的实现。

当每次把各种设计模式回归到面向对象思想时,我都有一种“运用之妙,存乎一心”的感觉。如果能更多的更深层次的去思考面向对象思想,对于学习设计模式将会大有裨益。

2、封装性

结构化编程封装难度较大,因为其采用结构化程序分析设计程序时,开发者需要将客观世界模型分解一个一个功能,每个功能按照顺序用以完成一定的数据处理。 对于私有的方法,较难控制,敏感信息就比较难隐藏。

面向对象编程的封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

3、复用性

传统的结构化程序设计方法以过程为中心构造应用程序,数据和处理数据的过程代码是分离的、相互独立的实体,设计出的程序可重用代码少,且当代码量增加时维护数据和代码的一致性困难

面向对象程序设计方法中,对象所具有的封装性和继承性使得代码重用成为可能,并大大减少了程序出错的可能性。

参考资料来源:百度百科——结构化程序设计 

参考资料来源:百度百科——面向对象程序设计

[更多阅读]

  • 面向对象和结构化程序设计的区别
  • 结构化程序设计与面向对象设计的主要区别是什么?
  • 结构化程序设计与面向对象设计主要区别
  • 结构化程序设计和面向对象程序设计的主要特征各是...
  • 面向对象的程序设计和C语言的结构化程序设计有什么...
  • 结构化程序设计和面向对象程序设计之间的区别与联系
  • 结构化程序设计方法与面向对象程序设计方法在对待...
  • 什么是面向对象程序设计?它与传统的结构化程序设...
  • 结构化程序设计 和 面向对象程序设计
  • 结构化程序设计与面向对象程序设计有什么异同点
  • 结构化程序设计与面向对象设计主要区别?相关搜索
    最新推荐
    热门推荐