C++10分析和总结最新分析和总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 10 面向对象程序设计 方法与实例 本章导读 面向对象程序设计方法越来越受到广大程序设计者的青睐。本章首先介绍了面向对象程序设计的一般方法和技巧,接着通过两个实例来帮助读者进一步理解和熟悉面向对象程序设计方法。 C++面向对象程序设计 C++面向对象程序设计 第 10 第 10 章 面向对象程序设计方法与实例 面向对象程序设计的一般方法和技巧 面向对象程序设计方法越来越受到广大程序设计者的青睐。尤其对于复杂度较高的大型软件系统,传统的的模块化设计方法已经不能满足人们的要求。 传统的程序设计方法一般采取自顶向下的设计方法。整个软件系统的是由分层次的子程序集合构成的。分解子程序的一般原则是:按照程序的功能(或者说程序所能完成的任务) 划分。在最顶层,主程序通过顺序调用一些子程序来完成计算并得到最终结果。而每个子程序还可以分解为完成更小任务的子程序。 举个简单的例子。假设题目要求输入100 个整数,排序以后输出到文件中。那么,用传统程序设计方法的主程序应该是这样的: void main() { int a[99]; input(a,100); sort(a.,100); output(a,100); } 其中,input 函数的功能是输入100 个数,sort 函数的功能是对这100 个数进行排序,而output 负责将这 100 个排好序的整数输出到文件中。也就是说,我们把主程序的分成了3 个子程序,每个子程序有自己要完成的任务。 在使用自顶向下的设计方法时,要求程序设计人员尤其是负责人必须对系统的调用关系非常清楚,这对大型系统来说这是非常困难的。同时,自顶向下设计的方法还有一大缺点, 即上层子程序的简单改动,可能造成底层程序的大量修改。 面向对象程序设计方法提供了一种新的系统设计模型。就是将软件系统看成是对象的集合,而对象是通过交互作用来完成任务的,每个对象用自己的方法管理数据。 同样是解决 100 个整数的排序问题,面向对象程序设计方法的主程序应该是这样的: void main() { array a(100); a.sort(); a.output(); } 我们在程序中创建了一个能存放100 个整数的对象array,并在建立对象空间的同时,利 用构造函数输入了数据,而随后的语句都是使用对象的方法来操作和管理array 对象的数据。好的程序设计应该具备的特征包括:良好的可读性、可维护性和可扩充性。组织得好的 系统的特点则是易于理解、开发和排错的。不论哪种设计方法,都试图通过分解和控制的原则来降低软件系统的复杂性。自顶向下程序设计方法将系统视为函数模块的集合,面向对象程序设计方法则以对象设计为基础。 值得一提的是,软件设计并不存在万能的规则,程序设计也是一种创作,创作就有一定的自由和灵活性,但在总体上要符合好的程序设计思想。 本节,我们介绍一种常用的软件开发方法。这种方法将软件开发过程划分为明显的几个阶段:问题分析和功能定义、对象设计及实现、核心控制设计、编码与测试、进化。 302 PAGE PAGE 303 PAGE PAGE 304 问题分析和功能定义 在传统程序设计中,这个阶段的工作被叫做“需求分析”。需求分析的结果是系统规范 说明书,写这些文档本身可能就是一个很复杂的工作。而且需求分析需要取得设计者与用户双方的共识。而实际上,在开始的时候,用户也许对需要系统解决的问题并不十分明确。对系统可使用的数据(输入)和应提供的信息(输出)都没有精确的定义。这就需要程序员和用户共同分析问题,从而确定整个软件系统要完成的功能。 使用面向对象程序设计方法时,在本阶段并不需要严格的系统规范说明书,可以使用一些简单的图表(例如用例图)来描述系统的功能。 图 图 10-1 自动取款机用例图 例如设计一个自动取款机,图10-1 描述了自动取款机的常见行为。 用例图只要符合用户的感受,如何实现并不重要,不必将用例图画得十分复杂,也不要求它很完美,只要能描述系统所能完成的核心任务即可。 就像图 10-1 中描述的,人们使用ATM 机时,最常用的是操作是取款、查询帐户余额、存款。其实,ATM 机还应该有一些其他的功能,如转帐、修改密码等,但如果一开始我们并不清楚是否有这些功能,就可以不画出来,也并不影响后面的设计。 对象(类)设计及实现 本阶段的工作是要给出所有对象的描述,并确定对象之间是如何交互的。 对象设计阶段要明确所有在程序中将要用到的对象,并给出每个类的定义,并用一些小程序对类进行测试。一般来说,对象的设计和实现都应该在此阶段完成。类可以独立于系统之外测试是面向对象程序设计的一大特色。 对于每个类,我们需要描述的是: 类的名字。最好能体现类的本质,能够一目了然。如Point、Line 。 类的职责。类能做哪些工作。一般,用

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档