利用UML类图设计Java应用程序(二)
![](http://n.sinaimg.cn/default/622af858/20181010/default_avatar.jpg)
IT168.com
文本Tag:UML
【IT168 技术文章】
在第一部分中,我们实现了5个类。在本部分中,我们接着说明如何利用UML类图来设计余下的各个类。为减少篇幅,本部分着重讲解UML类图及应用,对Java实现代码不再详细描述。
六、CGPoint类
CGPoint类说明了如何利用非抽象类扩展抽象类。CGPoint类是CGObject的子类,CGPoint类扩展了 CGObject类,CGPoint类没有再它所继承的变量中增加变量,它所声明的方法只有构造函数和要求它实现的抽象方法。其类图如下:
![](http://www.sinaimg.cn/IT/cr/2009/0903/4130894297.jpg)
Java实现代码为:
![](http://www.sinaimg.cn/IT/s/2009-09-03/1251909375_ywkVbw.jpg)
七、CGBox类
CGBox类也扩展了CGObject类。CGBox类提供了在网格上显示矩形的附加变量。CGBox类的类图如下:
![](http://www.sinaimg.cn/IT/s/2009-09-03/1251909375_3AsBym.jpg)
相应的代码为:
![](http://www.sinaimg.cn/IT/s/2009-09-03/1251909375_ZncMYc.jpg)
八、CGText类
CGText类是CGObject中的第三个子类。其类图与代码分别如下:
![](http://www.sinaimg.cn/IT/s/2009-09-03/1251909375_kslis3.jpg)
![](http://www.sinaimg.cn/IT/s/2009-09-03/1251909375_pzDOYT.jpg)
以下是CGObject类、CGPoint类、CGBox类、CGText类及Point类之间的相互关系。注意CGObject类是抽象类,其类名用斜体表示。
![](http://www.sinaimg.cn/IT/s/2009-09-03/1251909375_kzhpyK.jpg)
代码为:
![](http://www.sinaimg.cn/IT/s/2009-09-03/1251909375_1zz3aB.jpg)
十、CDrawApp类
主程序由CDrawApp类所构成。它包含main()方法,main()方法建立类CDraw的对象,然后调用该对象的run()方法。其中CDraw类属于内部类,当然你也可以将它单独作为一个类文件编辑、编译,其效果是一样的。
其中类与内部类之间的关系,用关联关系来表达,外部类用一个十字交叉圆圈表示,箭头指向内部类。如下图所示:
![](http://www.sinaimg.cn/IT/s/2009-09-03/1251909375_BU8TQr.jpg)
其代码实现为:
![](http://www.sinaimg.cn/IT/s/2009-09-03/1251909375_otMySF.jpg)
主程序CDrawApp类与相应类之间的关系为:
![](http://www.sinaimg.cn/IT/s/2009-09-03/1251909375_B0NPzi.jpg)
按照本文次序分别编译以上的10个大类,然后运行主程序CdrawApp即可。在程序运行时请注意:当选择增加点、框或者文本串后,选择Show Grid才能出现网格,并显示结果。
本文通过一个具体的程序开发过程,详细说明了如何使用UML类图来设计Java应用程序,使得程序开发可视化,文档标准化,便于相互协作与管理,是Java应用程序开发的方向 。