技术分享 :利用UML类图实现Java应用程序设计

开发 架构
UML有五类图,你对UML类图是否熟悉,这里就向大家介绍一下利用UML类图设计Java应用程序中Java应用程序中的两个类,相信通过本文的介绍大家对UML类图有新的认识。

本节继续向大家介绍利用UML类图设计Java应用程序方面的内容,主要包括CGObject类和PrintCGrid类两大类,希望通过本节的介绍你对UML类图有深刻的理解。

利用UML类图设计Java应用程序

UML已成为面向对象设计的标准图形化工具,在UML定义的各种图中,本文只涉及类图。Java应用程序由许多类所构成,类图的设计与实现,是Java实现面向对象应用程序的核心。本文通过一个具体的应用程序的设计与实现过程,详细说明了利用UML类图设计Java应用程序,使得开发过程标准化、可视化,代码编程简单化。

我们要设计的应用程序CDrawApp应用程序在基于字符的网格上画点、框和文本串,该应用程序涉及到Java面向对象的许多概念与应用方法,非常系统、全面,在您仔细研读后,定能迅速掌握UML类图,并将其应用到实际的Java应用程序开发过程中。为减少代码长度,让程序简单易懂,这里使用Java控制台窗口显示程序运行结果。该程序总共由10个大类组成,以下分别介绍。

一、CGObject类

CGObject类是抽象类的例子,它通过abstract方法来限制其子类的行为。Abstract方法必须由非abstract子类实现。其UML类图设计如下:

CGObject类用于定义在网格上显示的对象的一般行为。它有两个变量:location和drawCharacter。Location变量的类型是Point,用于在网格上指定一个对象所在的点。DrawCharacter变量用于画对象的字符。
CGObject有三个方法,而没有构造函数。因为abstract类没有完整定义,所以它没有构造函数,也没有对象实例。
第一个方法addToGrid()不是abstract类型的。它以类PrintCGrid的对象作为参数,调用PrintCGrid类的addCGObject()方法,把this对象加到网格中。this关键字指当前对象。用addToGrid()方法调用CGObject类的子类的对象,这些对象加到类PrintCGrid的对象中。

CGObject的其它两个方法都用abstract关键字声明。这意味着,这两个方法在能够由CGObject类的非abstract子类使用前必须被覆盖。覆盖方法必须拥有与anstract方法相同的名字、参数和返回值。Display()方法用于再网格上显示类PrintCGrid的一个对象。Describe()方法用于显示网格对象的描述。

二、PrintCGrid类

PrintCGrid类是CGrid类的子类,它定义了允许把对象加到网格中的附加变量和方法。它也提供了显示网格的方法。PrintCGrid类的UML类图如下图所示:

利用UML类图设计Java应用程序中PrintCGrid类与CGrid类的关系是子类与父类的关系。在类图中用实线与空心箭头从子类指向父类表示。

PrintCGrid有一个构造函数。该构造函数有两个参数:x和y,它们表示网格的水平和垂直方向的尺寸。构造函数调用super()方法,并把这两个变量当着变元传递过去。Super()方法是构造函数调用语句的一个例子。它以x和y作为变元调用PrintCGrid的父类(即CGrid类)的构造函数。CGrid的构造函数初始化其width和depth变量,分配grid[][]数组,并用空格给该数组元素赋值。CGrid的构造函数运行完后,PrintCGrid的构造函数继续把numObjects设置为0,并分配displayList[]数组。

PrintCGrid提供10个访问方法。AddCGObject()方法把对象加到displayList[]数组中。DeleteCGObject()方法删除位于指定索引位置的对象。所有的后续对象都向前移动,以填充被删除对象留下的空缺。DeleteLastObject()方法通过简单地把numObjects减1来删除最后一个对象。

GetNumObjects方法返回displayList[]中的对象数目。GetObject方法返回displayList[]中指定位置的对象。clearGrid()方法通过把numObjects设置为0去清除所有对象。

DrawGrid()方法使用从CGrid类继承的方法清空网格,然后调用displayList[]中每个对象的display()方法。

displayGrid[]方法在控制台窗口中显示每一行网格。它是继承的例子。Grid[][]数祖在CGrid类中定义,由PrintCGrid所继承。它由CGObject类的所有子类的drawGrid()方法和display()方法更新。PrintGrid()类用它来在控制台窗口中打印字符。

ValueOf()方法用于displayGrid()方法中,它是String类的静态方法。它把字符数组转换成String对象。静态方法类似于静态变量,它整体上应用于类,而不是作为类实例的各个对象使用。由于面向对象,静态方法只能访问静态变量。所有静态方法都是定局的,不能被覆盖。DisplayRow()方法在控制台窗口上显示一行网格,show()方法把drawGrid()和displayGrid()方法组合成一个方法。本节关于利用UML类图设计Java应用程序相关内容介绍到这里。

【编辑推荐】

  1. UML类图设计Java应用程序 Point和CGrid两大类详解
  2. UML类图中类与类的四种关系图解
  3. UML用例图用法实例剖析
  4. 术语汇编 UML统一建模语言简介
  5. 利用UML类图设计Java应用程序详解


 

责任编辑:佚名 来源: csdn.net
相关推荐

2009-09-03 08:46:55

UML类图Java

2010-07-12 12:41:12

UML类图

2010-07-09 16:54:47

UML类图

2010-06-28 18:21:36

UML类图设计

2010-07-07 18:00:44

UML类图建模

2010-06-09 10:38:07

UML类图

2010-06-12 16:59:45

UML设计

2010-08-12 15:59:23

Flex应用程序

2022-05-04 23:08:36

标准Go应用程序

2010-03-04 10:11:17

Android手机系统

2012-02-15 14:39:55

GNOME 3

2010-08-04 10:13:40

FlexBuilder

2010-07-05 16:23:39

UML类图

2012-03-30 15:47:50

ibmdw

2010-09-17 09:08:49

Java多线程

2012-06-07 09:15:14

ibmdw

2010-07-09 15:19:58

UML类图建模

2010-07-01 12:09:46

UML类图

2023-10-07 09:37:53

2010-08-04 09:34:51

Flex设计
点赞
收藏

51CTO技术栈公众号