- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析从结构化程序设计到面向对象程序设计的发展思路|面向对象和结构化程序设计的区别
面向对象程序设计成为软件开发方法的主流,相对以往的结构化程序设计有了很大的变革和改进。面向对象的概念和应用已超越了程序设计和软件开发范畴。 面向对象 结构化程序设计 软件开发 在早期的计算机程序开发中用的比较多的方法即是结构化程序设计,因此也出现了一批优秀的结构化程序设计的语言,如C语言、Pascal等。但是随着计算机软硬件的不断发展,传统的的程序设计方法出现的弊端:结构化方法开发的软件,其稳定性、可修改性和可重用性都比较差,这是因为结构化方法的本质是功能分解,从代表目标系统整体功能的单个处理着手,自顶向下不断把复杂的处理分解为子模块,这样一层一层的分解下去,直到仅剩下若干个容易实现的子模块功能为止,然后用相应的工具来描述各个最低层的处理。因此,结构化方法是围绕实现处理功能的整个过程来构造系统的,我们又称其为面向过程程序设计。 由于结构化程序设计存在一定的问题,因此势必有一个新的程序设计思路来完善,这就是面向对象程序设计出现和发展的必然。 一、结构化程序设计存在的问题 1.软件的重用性差 重用性是指同一事物不经修改或稍加修改就可多次重复使用的性质。软件重用性是软件工程追求的目标之一。如果软件的重用性较差那么软件的造价就相对高。 2.软件的可维护性差 软件工程强调软件的可维护性,强调文档资料的重要性,规定最终的软件产品应该由完整、一致的配置成分组成。在软件开发过程中,始终强调软件的可读性、可修改性和可测试性是软件的重要的质量指标。实践证明,用传统方法开发出来的软件,维护时其费用和成本仍然很高,其原因是可修改性差,维护困难,导致可维护性差。 3.开发出的软件不能真正满足用户需要 结构化方法开发大型软件系统涉及各种不同领域的知识,在开发需求模糊或需求动态变化的系统时,所开发出的软件系统往往不能真正满足用户的需要。 二、面向对象程序设计的思想 从现实世界中客观存在的事物(我们称为对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以现实世界中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。 面向对象方法是以认识论为基础,用对象来理解和分析问题空间,并设计和开发出由对象构成的软件系统的方法。简言之,面向对象就是面向事情本身,面向对象的分析过程就是认识客观世界的过程。面向对象方法从对象出发,发展出对象,类,消息,继承等概念。 面向对象方法的主要优点是:符合人们通常的思维方式,从分析到设计再到编码采用一致的模型表示具有高度连续性,软件重用性好。 面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。这些程序设计语言可以归纳为以下几类:系统中一切皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。现在用的比较多的面向对象的程序设计语言有Java,C#等。 三、面向对象程序设计的实现过程 1.选择面向对象语言 采用面向对象方法开发软件的基本目的和主要优点是通过重用提高软件的生产率。因此,应该优先选用能够最完善、最准确地表达问题域语义的面向对象语言。 在选择编程语言时,应该考虑的其他因素还有:对用户学习面向对象分析、设计和编码技术所能提供的培训操作;在使用这个面向对象语言期间能提供的技术支持;能提供给开发人员使用的开发工具、开发平台,对机器性能和内存的需求,集成已有软件的容易程度。 2.类的实现 在开发过程中,类的实现是核心问题。在用面向对象风格所写的系统中,所有的数据都被封装在类的实例中。而整个程序则被封装在一个更高级的类中。在使用既存部件的面向对象系统中,可以只花费少量时间和工作量来实现软件。只要增加类的实例,开发少量的新类和实现各个对象之间互相通信的操作,就能建立需要的软件。 一种方案是先开发一个比较小、比较简单的来,作为开发比较大、比较复杂的类的基础。 3.应用系统的实现 应用系统的实现是在所有的类都被实现之后的事。实现一个系统是一个比用过程性方法更简单、更简短的过程。有些实例将在其他类的初始化过程中使用。而其余的则必须用某种主过程显式地加以说明,或者当作系统最高层的类的表示的一部分。 4.面向对象测试 把各个子系统组装成完整的面向对象软件系统,在组装过程中同时进行测试。 从事面向对象编程的人按照分工来说,可以分为“类
文档评论(0)