UML类图简介
2016-04-12 17:36
295 查看
概述
设计模式中常常使用UML来表示类与类,类与接口之间的关系,UML类图是设计模式入门必备的技能,感觉各种关系比较多,这里做一下总结。类与接口的表示
类与接口通常是一个矩形框表示,一般分为3层,第一层显示类的名称,如果是抽象类则类名用斜体表示。第二层代表类的特性,通常是字段和属性,第三层是类的操作,通常表现为方法或者行为,其中+表示public,
-表示private,
#表示protect
常用关系
继承继承关系用空心三角形+实线来表示,在java中体现为
extends关键字
实现接口
实现接口用空闲三角形+虚线,在java中体现为
implements关键字
聚合关系
聚合关系表现为一种
弱拥有关系,体现为A对象可以包含B对象,但是B对象不是A对象的一部分。
实现用空心菱形+实线;
在java中可以体现为,一个类的数组或者通过setter或者getter方式注入到整体对象中
//数组对象形式 public class wideGooseAggregate{ private WideGoose[] arrayWideGoose;//雁群类中有大雁的数组对象 } //注入方式存在 public class Car { private Engine engine; //构造注入 public Car(Engine engine) { this.engine = engine; } //设值注入 public void setEngine(Engine engine) { this.engine = engine; } …… } public class Engine { …… }
组合关系
组合关系也表示整体和部分之间的关系,体现出的是一种
强拥有关系,即整体可以控制成员对象的生命周期,整体对象一旦不存在成员对象也将不存在。通常体现为成员对象在整体类构造方法中被new出来。
用实心菱形+实线表示。
public class Bird{ private Wing wing; public Bird(){ wing = new Wing(); } }
依赖关系
依赖关系,顾名思义,产生了依赖就会出现这个类的改变会带动另一个类的变化,一般体现在某个类的方法使用另一个类的对象作为参数。
用虚线+箭头表示。
abstract class Animal{ public Metabolism(Oxygen oxygen,Water water){ …… } }
关联关系
一种结构化关系,用于表示一类对象和另一类对象有联系。在Java中通常表现为一个类的对象作为一个类的成员变量,即表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。
用实线表示
public class Penguin{ private Climate climate; …… }
参考:
《大话设计模式》
http://blog.csdn.net/lovelion/article/details/7842898
相关文章推荐
- URL访问网站的整个过程
- 错误:fatal error: file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/
- 40条Android开发优化建议
- jquery.tmpl.js 详解
- Lua中的userdata
- 多年手淫导致抵抗力很差,怎么办?|彭博士谈伤精与养精
- Listview四种视图VIEW
- 爆打团队 题目去重功能代码实现
- Linux上SD/MMC卡驱动移植调试记录
- 用CornerStone配置SVN,HTTP及svn简单使用说明
- win7开机后svchost..exe占用CPU和内存很高的解决方法
- Rsync同步日志服务的搭建
- Redis运行多个实例以充分发挥多核处理器的能力
- 常用正则表达式
- 快速集成支付宝支付步骤及注意事项(原创)
- tn文本分析语言(三):高级语法
- java环境contos上solr-5.5.0 安装部署
- translate
- Servlet实现表单提交(MyEclipse10,Tomcat7.0,JDK1.7,)——Java Web练习(一)
- 第二章 基本数据结构和运算