美文网首页技术总结
UML类图中的几种关系

UML类图中的几种关系

作者: AlanKim | 来源:发表于2017-11-15 14:50 被阅读102次

    UML中几种关系经常会搞混,这里统一梳理下,省的再犯低级错误。

    一个点:实线比虚线表示的关系更强烈一些

    UML中定义的关系主要有六种:

    泛化:

    在程序中通过“继承”来实现,也可以认为就是继承;
    通过空心三角形+实线来表示,子类指向父类。


    图片.png
    实现:

    可以理解为类与接口之间的关系;
    通过空心三角形+虚线来表示,从实现类指向接口


    图片.png
    依赖:

    是一种“使用”关系,即一个类(A)的实现需要用到另一个类(B)。
    尽量不要使用双向依赖。
    一般表现为类A中的方法需要类B的实例作为其参数或变量,但是类A本身并不需要引用类B的实例作为其成员变量。
    使用虚线箭头表示,类A指向类B。


    图片.png
    关联:

    比依赖的关系更强,类A使用类B的实例作为自己本身的一个成员变量。
    使用实线箭头表示,类A指向类B。


    图片.png
    聚合:

    传说中的 has-a关系,类A和类B是整体和部分的关系。但是两个部分的生存周期可以不同,没那么强的约束关系。
    是一种更强的关联关系,关联关系的特例。
    使用空心菱形+实线来表示,范围小的指向范围大的。


    图片.png
    组合:

    contains-a关系,类A和类B也是整体和部分关系,但是之间的关联更强,有共同的生命周期,一旦整体不存在,部分也将不存在。
    通过实心菱形+实线来表示,范围小的指向范围大的。


    图片.png

    相关文章

      网友评论

        本文标题:UML类图中的几种关系

        本文链接:https://www.haomeiwen.com/subject/lkocvxtx.html