- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 面向对象程序设计 方法与实例 9.1 面向对象程序设计的一般方法和技巧 9.1.1 问题分析和功能定义 传统程序设计中,这个阶段的工作被叫做“需求分析”。需求分析的结果是系统规范说明书,需要程序员和用户共同分析问题,从而确定整个软件系统要完成的功能。 使用面向对象程序设计方法时,在本阶段并不需要严格的系统规范说明书,可以使用一些简单的图表来描述系统的功能。 9.1.2 对象(类)设计及实现 本阶段的工作是要给出所有对象的描述,并确定对象之间是如何交互的。 对象设计阶段要明确所有在程序中将要用到的对象,并给出每个类的定义,并用一些小程序对类进行测试。一般来说,对象的设计和实现都应该在此阶段完成。类可以独立于系统之外测试是面向对象程序设计的一大特色。 对象设计一般分为五个阶段: (1) 对象发现。对象可以通过寻找外部因素及边界、系统中重复的元素和最小概念单元而发现。 (2) 对象装配。建立对象时可能会发现需要一些新的对象,这些对象在对象发现时并未出现过。此时,需要建立新类。 (3) 系统构造。不断的改进对象。与系统中其他对象交互时,可以根据需要改变已有的类。 (4) 系统扩充。系统增加新的性能时,可以根据需要修改类或增加类。 (5) 对象重用。不断的修改对象,直到发现我们有了一个真正可以重用的对象。 9.1.3 核心控制设计 核心控制设计阶段主要完成程序的框架设计,这是实现软件系统体系的核心 可以使用自顶向下方法建立程序结构,以便控制对象间的相互作用。 9.1.4 编码与测试 本阶段完成的任务是对系统框架进行编码 由于在对象设计阶段已经完成了对象的实现和测试,所以本阶段工作的注意力应集中在对控制模块的设计上。 9.1.5 进化 进化的意思是说:我们不可能第一次就使软件正确,所以应该为学习,返工和修改留有余地。不断地使软件进化,直到软件正确。进化可以使所有不清楚的问题越来越清楚,也是使类能进化为可重用资源的重要手段。 在这个阶段需要注意的一件事是:如果修改了一个类,则它的父类和子类仍然能够正常工作。 第9章 项目设计——校园信息管理系统 1 系统分析与设计 2 程序设计分析 3 源程序及说明 4 运行结果与分析结果 9.1 系统分析与设计 校园信息管理系统由程序界面、数据管理和数据分析这三个部分组成。 程序界面采用命令驱动的方式 数据管理也就是对存放在系统中的数据进行组织和保存,还要求能够对数据进行添加和删除 对数据信息进行分析 9.2 程序设计分析 在校园信息管理系统中,全部的数据信息是以person、student及teacher类实例的形式存放的,person、student及teacher类也提供了数据信息的输入输出和存储功能,类设计如下: 人员信息person类: 学生类student和教师类teacher由person类派生而来: teacher类 程序中每个命令所对应的功能和调用到的函数: 9.3 源程序及说明 person、student和teacher三个类的实现 person.h / person.cpp student.h / student.cpp teacher.h / teacher.cpp 命令调用及对象实例管理部分代码 main.h / main.cpp 9.4 运行结果与分析 “input”命令在用于往系统中添加人员信息,包括教师和学生 “output”命令用于输出当前系统中存有的全部人员信息 “analyze”命令,用于对当前系统中的数据做简单统计 “save”和“load”命令用于将系统中的数据写入文件 “exit”命令用于退出当前系统 * * * 将实例从文件读入 虚成员函数 Load 将实例存入文件 虚成员函数 Save 输入实例信息 虚成员函数 Read 输出当前实例信息 虚成员函数 Show 当前实例类型,student还是teacher ptype(自定义枚举类型) type 出生日期 date(自定义结构) birthday 学生家庭住址 char数组 address 学生性别 char数组 sex 学生姓名 char数组 name 描述 数据类型 定义 将实例从文件读入 成员函数 Load 将实例存入文件 成员函数 Save 输入实例信息 成员函数 Read 输出当前实例信息 成员函数 Show 入学日期 date(自定义结构) sregister 所学课程 course数组(自定义结构) courses 所学专业 char数组 major 学生所在班级 char数组 sclass 描述 数
文档评论(0)