UML简单介绍(十六)——类图的两个基本案例分析
2015-06-12 19:34
260 查看
1、菜单案例
菜单是一个非常常见的对象,我们使用的智能手机上就会有很多菜单,比如我们使用的safari浏览器,一级菜单就有文件、编辑,显示,历史纪录等等。而一级菜单下面,往往还有二级菜单、三级菜单等。比如文件菜单下面,就有新建,保存等菜单选项。而菜单一般用来做显示,点击的时候,才会执行这个菜单显示的命令。这里,我们给出一个菜单的简单的类图对象,比较简单抽象,如下:
2、菜单案例分析
看上图,我们发现,这里有五个对象,分别是Menu,MenuItem,Command,OpenCommand,PasteCommond。其中OpenCommand与PasteCommand是Command的泛化关系,我们在前面提到,泛化可以理解为继承,这里如果用J***A类来表示,应该使用extends。Command是一个抽象类,里面有一个Execute这样的方法。
Menu依赖MenuItem这个类,他们是一个依赖关系,Menu可以添加MenuItem这样的类,而MenuItem又有一个常量是Command类型,通过前面的介绍,我们可以知道这个是一种关联关系。
3、图形编辑器
图形编辑器也是一个非常常见的应用,尤其在windows上,应该很多人都用过这个软件,笔者以前上大学的时候就常用它来做图。图形编辑器一般都具有一些基本图形,如直线、矩形等,用户可以直接使用基本图形画图,也可以把基本图形组合在一起创建复杂图形。如果区别对待基本图形和组合图形,会使代码变得复杂,而且多数情况下用户认为二者是一样的。组合模式可以用相同的方式处理两种图形。
我们看一下一个简单的,图形编辑器的抽象类图,如下:
4、图形编辑器分析
Graphics: 基本图形和组合图形的父类,声明了所有图形共同的操作,如Draw;也声明了专用于组合图形管理子图形的操作,如Add、RemoveLine、Rectangle: 基本图形类
GroupGraphics: 组合图形类,与父类有组合关系,从而可以组合所有图形对象(基本图形和组合图形)
Line和Rectangle是基本图形,实现了Draw方法,他们可以看做是一个组合关系。
5、总结
上面只是介绍了两个比较简单的类图案例,类图在UML图形中,可以说是最重要的,我们具体的场景最后都会转化成为类与类之间的关系。本文只是简单介绍了两个类图,下一篇文章我们会用一个之前举例过的案例,再次来说明一下UML图形,并将之联系起来。
相关文章推荐
- shell编程中 read export echo 理解
- 【JavaScript】单击网页任意一处打开新窗口与关闭窗口
- php 整合 微博登录
- IP Address 分类: POJ 2015-06-12 19:34 12人阅读 评论(0) 收藏
- 解决 input密码框自动填充
- 奇异值分解SVD在简单推荐系统中的应用
- 实验第三方的内存泄露检测工具VLD(Visual Leak Detector)
- Java中的final
- Struts学习笔记之快速上手
- sublime text 3 注册机
- jpeg的数据从A8送入到videoM3解码,解码成yuv420sp
- Android---Handling Runtime Changes
- 3. hdfs原理分析
- hdu - 1532 Drainage Ditches (最大流)
- Eclipse maven 配置 第三方maven插件
- 黑马day02 http协议详解
- 算法设计之流水作业调度问题Johnson算法结论
- rsync+inotify
- 如何在header头前输出变量,如何在sesion_start前echo,如何存取phpinfo()的内容?
- Doubles