类之间的关系
- 关联(Association)
- 聚合(Aggregation)
- 组合(Combination)
- 泛化(Generalization)
- 依赖(Dependency)
- 实现(Realization)
一、关联关系(Association)
关联关系(Association):类之间的联系,如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单,再如员工和部门之间的关系
通常有
1. “*”(表示所有,不限)
2. “ 1”(表示有且仅有一个)
3. “0…”(表示0个或者多个)
4. “0,1”(表示0个或者一个)
5. “n…m”(表示n到m个都可以)
6. “m…*”(表示至少m个)。
二、聚合关系(Aggregation)
聚合关系(Aggregation):表示的是整体和部分的关系,整体与部分 可以分开.
在聚合关系中,成员类是整体类的一部分,即成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。在UML中,聚合关系用带空心菱形的直线表示
三、组合关系(Composition)
组合关系(Composition):也是整体与部分的关系,但是整体与部分不可以分开.
在组合关系中,成员类是整体类的一部分,而且整体类可以控制成员类的生命周期,即成员类的存在依赖于整体类。在UML中,组合关系用带实心菱形的直线表示。
四、泛化关系(Generalization)
泛化关系(Generalization)::A是B和C的父类,B,C具有公共类(父类)A,说明A是B,C的一般化(概括,也称泛化)
泛化关系(Generalization)也就是继承关系,也称为“is-a-kind-of”关系,泛化关系用于描述父类与子类之间的关系,父类又称作基类或超类,子类又称作派生类。在UML中,泛 化关系用带空心三角形的直线来表示。
五、依赖关系(Dependence)
依赖关系(Dependence)::假设A类的变化引起了B类的变化,则说名B类依赖于A类。
依赖关系(Dependency) 是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。大多数情况下,依 赖关系体现在某个类的方法使用另一个类的对象作为参数。
在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。
六、实现关系(Realization)
实现关系(Realization)::是用来规定接口和实线接口的类或者构建结构的关系,接口是操作的集合,而这些操作就用于规定类或者构建的一种服务。
接口之间也可以有与类之间关系类似的继承关系和依赖关系,但是接口和类之间还存在一种实现关系(Realization),在这种关系中,类实现了接口,类中的操作实现了接口中所 声明的操作。在UML中,类与接口之间的实现关系用带空心三角形的虚线来表示。