Uml
一、依赖关系(dependence):A类的变化引起了B类的变化,则B类依赖于A类;
(uses-a)
依赖关系有如下三种情况:
1. A类是B类中的(其中方法的)局部变量;
2. A类是B类中方法的一个参数;
3. A类向B类发送消息,从而影响B类发生变化;
(A类依赖于B类)
二、泛化关系(Generalization):A是B和C的父类,B、C具有公共父类A,
说明A是B和C的一般化(泛化);
在UML中,对泛化有三个要求:
1. 父类所具有的属性、操作,子类应该都有。
2. 子类中除了与父类一致的信息以外,还包括额外的信息。
3. 可以使用父类实例的地方,也可以使用子类的实例。
(泛化关系用空心三角行+实心直线)
三、关联关系(Association):类之间的关联,如客户和订单,每个订单应该指向一个特定
的客户,每个客户应该指向一些特定的订单。
其中,线条两边标识了两者之间的关系,而数字表示两者之间的限制,是关联关系两者之间的多重性。通常有:
“*”(表示所有,不限)
“1”(表示仅有一个)
“0…”(表示0个或者多个)
“0,1”(表示0个或者一个)
“n,m”(表示n个到m个都可以)
“m…”(表示至少m个)
在关联中有一种叫“限定关联”,还有一种叫自身关联。另外,对象之间的关联就没那么复杂,只是将类的关联实例化而已。
四、聚合关系(Aggregation):整体与部分的关系,整体与可以分开。
(空心菱形的实线)
五、组合关系(Composition):也是整体和部分的关系,但整体与部分不可以分开;
例:人与人的心脏
(用实心的菱形表示)
六、实现关系:是用来规定接口和实现接口的类或者构建接口结构的关系,接口是操作的集合,而这些操作就用于规定类或者构建的一种服务。
继承关系:
接口继承:
依赖:
use-a
聚合:
has-a
关联:
直接关联: