1面向对象设计说课.pptVIP

  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文档。上传文档
查看更多
C++面向对象程序设计 主讲教师 薛华柱 hpuxhz@163.com ;课程性质与设置目的;理论学习 理解、掌握基本概念,多看例题 理论指导实践,实践提高认识 实践学习 勤思考,多动手 重视上机实习环境 坚持自学 ;计算机程序;机器语言与汇编语言;高级语言;面向对象的语言;面向对象的语言;例:请编程计算出1999年5月10日到2006年3月8日期间一共有多少天? 一年有 365 天,但闰年有366 天; ?? 一年有 12 个月,大月31 天,小月30 天; ?? 2 月最特殊,普通年有28 天,闰年有29 天。;①计算从1999 到2006 期间共有多少个整年: 2000、2001、2002、2003、2004、2005,共有6 个整年,其中2000 和2004 年是闰年,因此,共有6×365+2=2192 天。 ②计算从1999 年5 月10 日到本年底(即12 月31 日)共有多少天: 5 月10 日到12 月31 日中共有4 个整的大月(7 月、8 月、10 月、12 月),3 个整的小月(6 月、9 月、11 月),共记4×31+3×30=214 天。5 月10 日到本月底(31 日)还有31?10=21 天。 所以,1999 年5 月10 日到年底共有214+21=235 天。 ③计算从2006 年1月1日到2006 年3 月8 日期间一共有多少天: 1 月有31 天,2006 年不是闰年,2 月有28 天,所以,总共有31+28+8=67 天。 综上所述,1999 年5 月10 日到2006 年3 月8 日期间一共有2192+235+67=2494 天。 ;;;//计算两年之间的整年天数,不足一年的去掉 static int CalculateDaysOfTwoYear(int beginYear, int endYear) { //… } //根据两个日期,计算出这两个日期之间的天数,忽略中间的整年 static int CalculateDaysOfTwoMonth(MyDate beginDate, MyDate endDate) { //… } 第一个函数根据两个年份之间的整年数计算出天数,第二个函数根据月和日计算出两个日期之间的天数(忽略中间的整年)。在深入地考虑这两个函数的具体实现算法时,会发现它们都需要判断一年是否是闰年,于是,设计另一个函数IsLeapYear()完成此功能: ;//根据年数判断其是否为闰年 static bool IsLeapYear(int year) { //… };在整个结构化分析过程中,采用的是先设计出最顶层的CalculateDaysOfTwoDate()函数的接口,再设计第二层的两个函数CalculateDaysOfTwoYear()和CalculateDaysOfTwoMonth(),最后抽象出第三层的函数IsLeapYear()。 有了设计图,即可动手写代码。现在有四个函数需要开发,如何确定开发顺序? 很明显,必须先开发IsLeapYear()函数,因为此函数被其他函数调用,但它不调用其他函数。接着可以开发CalculateDaysOfTwoMonth()和CalculateDaysOfTwoYear()两个函数,因为CalculateDaysOfTwoYear()函数比较简单,所以先开发它。最后开发CalculateDaysOfTwoDate()函数。;;函数开发完成之后,以下代码调用最顶层函数 CalculateDaysOfTwoDate()完成计算两日期之间天数的工作: MyDate d1, d2; //起始日期和结束日期 //1999年5月10日 d1.Year = 1999; d1.Month = 5; d1.Day = 10; //2006年3月8日 d2.Year = 2006; d2.Month = 3; d2.Day = 8; //计算结果 int days = CalculateDaysOfTwoDate(d1, d2);;结构化程序设计方法小结: ?? 结构化软件系统的基本程序设计单位是函数。 ?? 整个系统按功能划分为若干个模块,每个模块都由逻辑上或功能上相关的若干个函数构成,各模块在功能上相对独立。 ?? 公用的函数存放在公用模块中,各模块间可以相互调用,拥有调用关系的模块形成一个树型结构,这种调用关系应尽可能做到是单向的。;结构化程序设计的开发过程可以分为以下3 个阶段: ①分析阶段:在程序设计之前,需要仔细分析要解决的问题,确定好数据结构与算法。 ②设计阶段:结构化程序设计的基本单元是函数,每个函数都完成

文档评论(0)

1112111 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档