Java和UML类图
2015-06-06 15:09
316 查看
最近看了大话设计模式,这本书确实很不错,通俗易懂。刚看到了UML类图,这里做一下总结。
类与类之间可以细分为六种关系:继承、实现、关联(association)、依赖(dependency)、聚合(aggregation)、组合(composition)。六种关系粗分为三种:泛化、依赖、关联。泛化(generalization)包括继承和实现,关联包括关联、聚合和组合。
继承用实线和空心三角形表示。
实现用虚线和空心三角形表示。
关联用实线箭头表示,在Java代码中变现为B是A的全局变量。如:
依赖关系用虚线箭头表示,在Java中表现为B是A的局部变量或参数。如:
聚合关系用空心菱形和箭头表示,在Java中体现为B是A的全局变量关系但A创建时不一定要创建B。如:
组合关系用实心菱形和箭头表示,在Java中体现为B是A的全局变量但A创建时必须同时创建B,即B在A的构造方法中创建。如:
需要详细了解的同学请看这篇博文:http://blog.csdn.net/maybehelios/article/details/2038685
明白了上面的问题之后,下面这张UML图就很容易理解了:
类与类之间可以细分为六种关系:继承、实现、关联(association)、依赖(dependency)、聚合(aggregation)、组合(composition)。六种关系粗分为三种:泛化、依赖、关联。泛化(generalization)包括继承和实现,关联包括关联、聚合和组合。
继承用实线和空心三角形表示。
实现用虚线和空心三角形表示。
关联用实线箭头表示,在Java代码中变现为B是A的全局变量。如:
Class people{ private Address address; }
依赖关系用虚线箭头表示,在Java中表现为B是A的局部变量或参数。如:
Class people{ //参数 public void eat(Food food){ //或者局部变量 Tool tool; } }
聚合关系用空心菱形和箭头表示,在Java中体现为B是A的全局变量关系但A创建时不一定要创建B。如:
Class people{ private XiaoMing xiaoMing; }
组合关系用实心菱形和箭头表示,在Java中体现为B是A的全局变量但A创建时必须同时创建B,即B在A的构造方法中创建。如:
Class people{ private Arm arm; public people(Arm arm){ this.arm = arm; } }
需要详细了解的同学请看这篇博文:http://blog.csdn.net/maybehelios/article/details/2038685
明白了上面的问题之后,下面这张UML图就很容易理解了:
![](http://images.cnitblog.com/blog2015/686114/201505/061720403603706.png)
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统