UML中的四种关系

时间:2022-03-18 23:01:58

    谈到UML的四种关系,我想先说一下UML的结构,因为这四种关系是UML的结构中的一部分,有了整体的把控,然后再去了解整体中各个部分的相互作用,这样理解起来比较方便一点。

    一、UML的结构:基本构造块、关系、图。基本构造块是最基本的元素,如果把UML比作成汽车的话,那么基本构造块就相当于汽车的各个零件,而关系是把各个零件联系起来的桥梁,其实只有汽车动起来,我们才能更好的理解关系在里面起到的作用。下面是关系与构造模块构成的图。

UML中的四种关系

    二、关系

    1、关联(Association):对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。关联用横线表示。例如一个公司可以对应着多个员工。

UML中的四种关系

    1.1 聚合:关联的一种,聚合关系涉及的两个对象处于不平等的层次上,一个代表整体,一个代表部分。比如电脑和它的显示器、键盘、主机、鼠标就是聚和关系。如下图

UML中的四种关系


    1.2 组合:关联的一种,对于具有组合的两个对象,整体对象会制约它的组成对象的生命周期。部分类的对象不能单独存在,它的生命周期依赖于整体类的对象的生命周期,当整体消失,部分也就随之消失。如果人没有了头部和四肢,就没法工作了,对于程序来说,程序就没法运行了。

UML中的四种关系



    2、泛化(Generalization):其表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。用空心三角也实线表示,如下图。小狗与小猫都可以继承动物的一些公有的属性,比如颜色、年龄等等。

UML中的四种关系


    3、依赖(Dependency):当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。 具体表现依赖关系表现在局部变量,方法的参数,以及对静态方法的调用。两个对象的关系用虚线和箭头来表示。

    比如现在有两个对象,一个是人,一个是手机,其中手机有一个打电话的方法。那么人想打电话就得依赖手机具有打电话的方法来实现。

UML中的四种关系


    4、实现 :类与接口之间的关系。用空心三角和虚线来表示。图略。

三、聚合、组合、关联、依赖的强弱关系

    在画图时,我们尽量使用强耦合的关系,这与模块中编写代码正好相反,以上四种关系的强弱顺序是:组合>聚合>关联>依赖。再找类与类之间的关系时,能用组合就不用聚合,能用聚合就不用关联,能用关联就不用依赖。因为只有这样,我们才能更好的可视化建模和将代码的实现一一准确的与图对应起来。

四、小结

    UML的这几种关系把基本构造块的元素们紧紧的联系在了一起,最后形成UML的九中图,九中图是UML中的核心,是我们将要学习中的重点。UML的九中图在下一篇文章中讲解。