UML类图中的六种关系及其示例
·Association 关联
//一个类使用另一个类作为成员变量
//实线箭头,指向被使用者(双向关联没有箭头)
//存在自身关联
示例:
class Car {
… …
}
class Driver {
private Car car = new Car();
public void drive() {
… …
}
}
·Aggregation 聚合
//关联关系的一种,是整体和部分的关系,且部分单独于整体存在
//空心菱形实线,菱形指向整体
//聚合关系中作为成员变量的类一般使用 set 方法赋值
实例:
class Wheel{
… …
}
class Car{
private Wheel w;
public void setWheel(Wheel w){
… …
}
… …
}
·Composition 组合
//关联关系的一种,是整体和部分的关系,但部分不能脱离整体存在
//实心菱形实线,菱形指向整体
实例:
class Brain{
… …
}
class Person{
private Brian b=new Brain();
… …
}
·Generalization 泛化(继承)
//表示子类与父类的关系
//三角箭头实线,箭头由子类指向父类
实例:
Public class Driver extends Person{
…
}
·Dependency 依赖
//一个类需要使用另一个类,使用关系具有偶然性,临时性
//虚线箭头,箭头指向被使用者
实例:
public class Water{
… …
}
public class Person{
public void drink (Water w){
… …
}
}
·Realization 实现
//表示类实现(一个或多个)接口的关系
//三角箭头虚线,箭头由类指向接口
实例:
public interface Animal{
… …
}
public class Person implements Animal{
… …
}