- 注释(comment)
注释就是对类图的补充说明,可以附加在任何元素上,用
右上角有折角的矩形来表示,其内放置说明文字,通过
虚线连接被注释的元素。
- 类(Class)
在面向对象(OO) 编程中,类是对现实世界中一组具有相
同特征的物体的抽象。
在UML类图中,类使用包含类名、属性(field) 和方法
(method) 且带有分割线的矩形来表示:
类的方法的完整表示方式:
可见性 名称(参数列表) [ : 返回类型]
- 接口(Interface)
接口是一种特殊的类,具有类的结构但不可被实例化,只
可以被实现(继承)。
在UML中,接口有两种表示方式:
· 普通接口表示法(飞翔);
· 棒棒糖表示法(讲人话),使用一个带有名称的小圆圈来表示,在旁边写上相应接口名称,没有具体接口方法。
· 接口名称通常以大写字母I(interface)开头
类与类之间的关系
- 依赖关系
只要是在类中用到了对方,那么他们之间就存在依赖关系。 两个类之间用虚线箭头表示。
- 关联关系
关联关系实际上就是类与类之间的联系,是依赖关系的特例。 用实线箭头表示
关联具有导航性:即双向关系或单向关系
关系具有多重性:
- “1”(表示有且仅有一个)
- “0…”(表示0个或者多个)
- “0,1”(表示0个或者1个)
- “n…m”(表示n到 m个都可以)
- “m…*”(表示至少m 个)。
- 单向一对一关系
//一个人一个身份证号 一对一单向的 一对一
public class Person { private IDCard card;}
public class IDCard{}
- 双向一对一关系
//一个人对应一个身份证号 一对一
//一个身份证号也对应一个人
public class Person { private IDCard card;}
public class IDCard{ private Person person; }
- 继承关系
继承关系也称泛化关系,是依赖关系的特例。 A类继承了B
类也相当于A类用到了B类。
用空心三角形+实线表示
- 实现关系
实现关系实际上就是A类实现B接口,是依赖关系的特例,依赖关系更强。
用空心三角形+虚线实现
- 聚合关系
聚合关系表示的是整体和部分的关系,整体与部分可以分
开。聚合关系是关联关系的特例,所以他具有关联的导航
性与多重性。
使用带空心菱形的实线,菱形指向整体来表示。
- 组合关系
也是整体与部分的关系,但是整体与部分不可以分开。
用实心菱形+实线表示
public class Person{
private IDCard card = new IDCard(); //组合
private Head head = new Head(); //组合
}
public class IDCard{}
public class Head{}
类与类之间的关系