Java系统化项目开发教程
上QQ阅读APP看书,第一时间看更新

1.4 项目案例及设计

本书内容的展开,是以图形参数计算程序(项目1~项目3)和闹钟工具小软件(项目4~项目10)的实现为主要线索的,因此,我们有必要先了解下这两个案例的背景和设计思路。

1.4.1 先导案例:图形参数计算程序

(1)背景

Java是一个纯面向对象语言,面向对象思想的理解和掌握是学习Java编程的基础,前三个单元就是主要介绍面向对象的基本概念,以及Java的基本语法。由于面向对象概念较为抽象,不易理解,因而,采用控制台窗口方式,突出算法逻辑过程,选取大家熟知的图形参数计算为载体,以便着力于面向对象编程方法的学习和应用。

(2)功能描述

实现常见图形名称的显示,以及周长和面积计算的功能。

(3)设计思路

常用图形包括三角形、四边形、梯形等多种,每种图形均有名称、周长和面积等参数,周长与面积的计算公式视图形形状的不同而不同。采用面向过程的编程方法,在设计图形参数计算程序时,根据每种图形形状不同,需要设计相应的计算逻辑,过程重复,可复用性差。

根据面向对象的编程思想,设计一个图形类,图形的参数作为该类的属性,参数计算则可通过定义该类的方法来实现。对于不同形状的图形,则可通过类的继承、多态特性来实现不同的计算逻辑,以适应多种图形特点的周长和面积计算需要,同时具有较好的可扩展性。

1.4.2 实战案例:闹钟工具小软件

(1)背景

在了解了 Java 面向对象编程方法基础上,后续单元则着重阐述如何应用 Java 基础类库和编程机制,来进行软件开发。由于篇幅有限,以知识点覆盖率高、业务流程完整、项目小而精为原则,选取了闹钟工具软件作为载体。

(2)功能描述

这是一个可视化的工具软件,主要功能如下。

① 设置闹钟(可以是一个或多个)。

② 选择铃声和试听铃声。

③ 实现主界面的图标最小化及还原。

④ 实现两种方式上传/下载铃声文件:一是利用服务器上传和下载;二是利用数据库实现上传和下载。

闹钟工具小软件运行效果如图1-5所示,其中图1-5a为主界面,图1-5b为版本说明界面。

(3)设计思路

① 为了提供更好的用户体验,采用Java提供的图形界面方式,进行用户界面设计,包括背景图片、可视化操作按钮等。

图1-5 闹钟工具小软件主界面

② 通过事件处理机制实现用户交互,如设置提醒时间、选择铃声等。

③ 利用输入/输出机制实现系统目录上铃声文件的读取和保存,用于用户选取铃声。

④ 利用数据库或服务器目录,都可实现对客户端文件的存取,但在一般情况下,文件较小时(如本案例),会选择数据库,否则放在服务器目录。由于这两种方式都是必掌握内容,因此,在项目7和项目10中,分别采用数据库和访问远程服务器两种方式实现新铃声的上传/下载。

⑤ 对于中间结果数据的保存,根据情况进行设计,若为单个数值,如闹钟的时、分和秒,采用整型简单数据类型;对于类类型,采用对应类型的引用变量,如闹钟界面上的字体类Font,针对一些数量不定的类类型数据序列,则采用集合类,如铃声文件序列。

⑥ 利用多线程技术,将每个闹铃的启动设计为一个线程,以达到可同时设置多个闹铃的需要。