您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: