UML简单介绍(十六)——类图的两个基本案例分析
来源:互联网 发布:淘宝电子面单打印软件 编辑:程序博客网 时间:2024/05/21 11:37
1、菜单案例
菜单是一个非常常见的对象,我们使用的智能手机上就会有很多菜单,比如我们使用的safari浏览器,一级菜单就有文件、编辑,显示,历史纪录等等。而一级菜单下面,往往还有二级菜单、三级菜单等。比如文件菜单下面,就有新建,保存等菜单选项。而菜单一般用来做显示,点击的时候,才会执行这个菜单显示的命令。
这里,我们给出一个菜单的简单的类图对象,比较简单抽象,如下:
2、菜单案例分析
看上图,我们发现,这里有五个对象,分别是Menu,MenuItem,Command,OpenCommand,PasteCommond。
其中OpenCommand与PasteCommand是Command的泛化关系,我们在前面提到,泛化可以理解为继承,这里如果用JAVA类来表示,应该使用extends。Command是一个抽象类,里面有一个Execute这样的方法。
Menu依赖MenuItem这个类,他们是一个依赖关系,Menu可以添加MenuItem这样的类,而MenuItem又有一个常量是Command类型,通过前面的介绍,我们可以知道这个是一种关联关系。
3、图形编辑器
图形编辑器也是一个非常常见的应用,尤其在windows上,应该很多人都用过这个软件,笔者以前上大学的时候就常用它来做图。
图形编辑器一般都具有一些基本图形,如直线、矩形等,用户可以直接使用基本图形画图,也可以把基本图形组合在一起创建复杂图形。如果区别对待基本图形和组合图形,会使代码变得复杂,而且多数情况下用户认为二者是一样的。组合模式可以用相同的方式处理两种图形。
我们看一下一个简单的,图形编辑器的抽象类图,如下:
4、图形编辑器分析
Graphics: 基本图形和组合图形的父类,声明了所有图形共同的操作,如Draw;也声明了专用于组合图形管理子图形的操作,如Add、Remove
Line、Rectangle: 基本图形类
GroupGraphics: 组合图形类,与父类有组合关系,从而可以组合所有图形对象(基本图形和组合图形)
Line和Rectangle是基本图形,实现了Draw方法,他们可以看做是一个组合关系。
5、总结
上面只是介绍了两个比较简单的类图案例,类图在UML图形中,可以说是最重要的,我们具体的场景最后都会转化成为类与类之间的关系。
本文只是简单介绍了两个类图,下一篇文章我们会用一个之前举例过的案例,再次来说明一下UML图形,并将之联系起来。
- UML简单介绍(十六)——类图的两个基本案例分析
- UML简单介绍(十)——几个时序图的案例展示与分析
- UML简单介绍(五)——用例图的使用案例与分析
- UML简单介绍(二十二)——基于UML的需求设计分析
- UML简单介绍(十四)——类图的基本概念与组件介绍
- UML类图简单介绍
- UML类图简单介绍
- UML类图简单介绍
- UML简单介绍(十五)——类图的关联关系中的映射
- uml图的功能基本介绍
- UML简单介绍(十九)——部署图的基本概念与实例介绍
- UML简单介绍(三)——UML中的语法概述
- U3d脚本注意事项及两个基本函数的简单介绍
- UML简单介绍(一)——UML的背景与简介
- UML简单介绍(二十三)——基于UML的移动点餐系统分析
- UML简单介绍(二十四)——基于UML的软件设计总结
- UML简单介绍(八)——时序图的基本概念与解析
- UML简单介绍(十一)——协作图的概念与实例完全解析
- 奇异值分解SVD在简单推荐系统中的应用
- 解决 input密码框自动填充
- shell编程中 read export echo 理解
- 【JavaScript】单击网页任意一处打开新窗口与关闭窗口
- IP Address
- UML简单介绍(十六)——类图的两个基本案例分析
- 虚拟机运行win95
- git 简单使用(一)
- 监听手机上的BACK键,退出前提示
- UGUI 技术点笔记 (干货走起)
- iOS开发UI篇—0408控制器View的生命周期方法
- 关于#define
- linux 命令之 ping
- Android如何压缩图片上传服务端