UML类图图解

1. 类

格式如图,顶格表示类名,中间隔表示属性,底格表示方法。

image

方法和属性的可见性

符号 可见性
+ public
- private
# protected
/ derived
~ package

2. 关系

2.1 Generalization(归纳)/Inheritance(继承)

我不知道Generalization为什么要翻译成泛化,个人觉得翻译得太硬了,一般人还得进一步去查一下泛化又是啥意思。用一个生僻的名词去解释另一个单词,我算是醉了。
image

2.2 Realization/Implementation(实现)

针对接口实现。
image

2.3 Association(关联)

关联关系使一个类知道另外一个类的属性和方法。某个对象会长期的持有另一个对象的引用,关联的两个对象彼此间没有任何强制性的约束,只要二者同意,可以随时解除关系或是进行关联,它们在生命期问题上没有任何约定。被关联的对象还可以再被别的对象关联,所以关联是可以共享的。 关联有四种类型:单向型(uni-directional)、双向型(bi-directional)、集合型(包括Composition和Aggregation)和自反型。
下图中左边为单向关联,右边为双向关联。通俗地解释图左的单向关联就是,ClassA有成员变量ClassB,而ClassB里没有成员变量ClassA.一时找不到具体事例,就以ClassA和ClassB来代替了;右图中表示一个消费者可有零到多个订单,一个订单对应一个消费者。构成型和集合型请看下文。
image

2.4 Dependency(依赖):

仅仅是使用关系,被依赖类出现在方法的形参、局部变量和返回值中。
image

2.5 Composition(构成)

有人翻译成“组成”,个人觉得翻译成“构成”更易理解。一个事物是另一个事物不可分割的一部分,例如发动机是车子的一部分。
image

2.6 Aggregation(集合)

有人翻译成“聚合”,我这里翻译成“集合”。成分类可以不依赖集合类而单独存在,可以具有各自的生命周期。
image

3. 多重性

关联的修饰符

标识符 释义
0 无实例
0..1 无实例或者只有1个实例
1 只有1个实例
1..1 只有1个实例
0..* 零个或多个实例
* 零个或多个实例
1..* 1个或多个实例

猜你喜欢

转载自blog.csdn.net/kevinscsdn/article/details/78805588