
6.3 代码展示——类初步规划
6.3.1 案例分析
学习Java是逐步深入的过程,案例同样也是逐步细化的过程。随着对Java的深入学习,我们具备了案例实现的某方面的知识条件然后进一步细化案例。本章我们学习了类的组成,也了解了类的基本概念及其结构,在此,我们可以将案例的实现推进一步。
在第5章中,我们设计了本书的唯一案例,微缩型“学籍管理软件”。在该软件中,我们总共设计了学校基本信息表(录入、修改、删除、查询)、学院(学院级系)基本信息表(录入、修改、查询、删除),系基本信息(录入、修改、查询、删除)、专业信息(录入、修改、删除、查询)、学生基本信息(录入、修改、删除、查询)、学生成绩信息(录入、修改、删除、查询)、学生奖惩信息(录入、修改、删除、查询)、学籍查询(查询、打印)、学生成绩排名(排名、打印)、学生名单查询(查询、打印)、专业名单查询(查询、打印)、学院名单(查询、打印)等这些对象和要求。在本章中需先设计类图以及类方法体,不考虑类的数据成员和类间关系。其实这是设计了只有类名和方法体的空类,对这些类和方法体说明参见表6-1。
1. 类设计
表6-1是通过对学籍管理业务原始数据资料的整理,结合面向对象的思想和方法设计出的“学籍管理软件”的初步类,详细类将随着我们的知识水平的提高而逐步完善和优化。
表6-1 “学籍管理软件”类设计表

2. 类图设计
图6-1是使用UML(Unified Modeling Language,统一建模语言)描述的“学籍管理软件”类间关系。随着知识结构的掌握将逐步优化“学籍管理软件”的类间关系。

图6-1 “学籍管理软件”类初设图
类图初步设计如图6-1所示,该图仅仅是从用户需求出发设计出来的,没有考虑设计模式、类间关系优化等。
本章是为了完成程序调试而设计的。在本章中,只有一个方法体main(),并且没有任何输入输出参数。由于本类图是学籍管理系统类图的初步设计,我们将main方法作为唯一入口,负责各个类的调用。本质上来说,这个阶段根本无法满足用户需求,只能说是学籍管理系统的雏形而已。本阶段对学籍管理系统源代码只定义了类和方法体,方法体中也没有任何参数。在本章的类中,也没有设计数据成员,关于参数和数据成员将在后续章节中予以补充。
6.3.2 部分代码展示
在本节中,我们将使用Java语言程序,展示“学籍管理软件”中部分类的结构代码。如果有读者感兴趣,可以查阅本书提供的相应的软件代码即可。
6.3.2.1 学校信息类
学校信息类的结构代码如例程6-2所示。
[例程6-2] 学校信息类的结构代码。


6.3.2.2 学院信息类
学院信息类的结构代码如例程6-3所示。
[例程6-3] 学院信息类的结构代码。



6.3.2.3 说明
鉴于篇幅有限,其他类的源代码可在清华大学出版社网站下载,也可以通过本书提供的QQ号与作者联系获取,在此不再赘述。