UML类图示例:
图片来自《大话设计模式》
说明:
1.UML类图符号之类(Class):使用三层矩形框表示。(动物)
第一层显示类的名称,如果是抽象类,则就用斜体显示。
第二层是字段和属性。
第三层是类的方法。
注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。
2.UML类图符号之接口(interface):使用两层矩形框表示,与类图的区别主要是顶端有<<interface>>显示。(飞翔)
第一行是接口名称。
第二行是接口方法。
接口还有另外一种表示方法,俗称棒棒糖表示法,用空心圆+直线(如上图唐老鸭实现了‘讲人话‘)
3.UML类图符号之继承类(extends):用空心三角形+实线来表示。(动物和鸟,鸭和唐老鸭)
4.UML类图符号之实现接口(implements):用空心三角形+虚线来表示。(上图大雁和飞翔是实现关系,应该为空心三角形+虚线)
5.UML类图符号之关联(Association):用实线箭头来表示,当一个类需要“知道”另一个类的时候,用关联。(燕子与气候)
6.UML类图符号之聚合(Aggregation):用空心的菱形+实线箭头来表示。(大雁和雁群)
聚合:表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。
7.UML类图符号之组合/合成(Composition):用实心的菱形+实线箭头来表示。(鸟和翅膀)
组合:表示一种强的‘拥有’关系体现了严格的部分和整体的关系,并且生命周期是相同的。
8.UML类图符号之依赖(Dependency):用虚线箭头来表示。(动物与氧气、水)
9.UML类图符号之基数:连线两端的数字表明这一端的类可以有几个实例,比如:一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用‘n’来表示。关联、聚合、组合是有基数的。