欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

类图中的依赖、关联、聚集、构成、泛化、实现关系

程序员文章站 2024-02-19 22:29:10
...

一、依赖(Dependency)

类图中的依赖、关联、聚集、构成、泛化、实现关系

依赖:A类依赖B类,在B类发生变化时,A类也会随着B类发生变化;通常依赖的类是作为参数传入。
1. Car类是User类中的(某个方法的)局部变量;
2. Car类是User类方法当中的一个参数;
3. Car类向User类发送消息,从而影响B类发生变化;

二、关联(Association)

类图中的依赖、关联、聚集、构成、泛化、实现关系

关联:表示订单与产品对象之间存在关系;关联关系还可以细化出聚集和构成。
1. 关联关系一般是作为类变量形式出现;
2. 关联分单向、双向关联,此处是订单关联产品的单向关联;
3. 聚集的对象一般是通过构造方法、set方法注入的。
4. 构成是直接在对象中实例化出来的。

三、聚集(Aggregation)

类图中的依赖、关联、聚集、构成、泛化、实现关系

public class BirdGroup {
    private SparrowGroup sparrowGroup;
    private ParrotGroup parrotGroup;
    public BirdGroup(SparrowGroup sparrowGroup,ParrotGroup parrotGroup) {
        this.sparrowGroup = sparrowGroup;
        this.parrotGroup = parrotGroup;
    }
}

四、构成(Compostion)

类图中的依赖、关联、聚集、构成、泛化、实现关系

public class Face {
    //此处不给出Nose/Eye/Mouth类的定义
    private Nose nose;
    private Eye eye;
    private Mouth mouce;
    public Face() {
        nose = new Nose();
        eye = new Eye();
        mouth  = new Mouth();
    }
}

五、泛化(Generalization)

类图中的依赖、关联、聚集、构成、泛化、实现关系

泛化:汽车可以演化出BMW、Lamborghini等系列的车(父类泛化出子类)。

六、实现(Realization)

类图中的依赖、关联、聚集、构成、泛化、实现关系

实现:对于USB的标准,安卓或则苹果USB可以去定义自己的USB数据线。

七、总计

这6种关系的联系的紧密度排行为:

泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖