【UML】UML中的四种关系

来源:互联网 发布:好工长之家 知乎 编辑:程序博客网 时间:2024/05/16 09:18

    在学UML之前,就知道UML有四种关系,但是具体是哪四种关系我也不清楚,只是知道有这个而已,到现在看了十几集的视频也还是懵懂的,下面就简单的介绍一下UML中的四种关系


    四种关系:泛化关系、实现关系、依赖关系、关联关系

    其中强弱关系从大到小依次为:泛化=实现>组合>聚合>关联>依赖

泛化关系(Generalization)

    泛化关系是一种继承关系,表示一般与特殊之间的关系,指定了子类如何特化父类的所有特征和行为。例如哺乳动物是动物的一种,它继承了动物的所有特性同时又有它自己的特性

    具体表现形式:(子类指向父类)


实现关系(Realization)

    实现关系是一种类与接口的关系,表示类是接口所有特征和行为的实现

    具体表现形式:


依赖关系(Dependency)

    依赖关系是一种使用关系,即一个类的实现需要另一类的协助,所以尽量不要使用双向的依赖关系。一个对象的修改会导致另一个对象的修改。例如一个人修改户口本上的姓名,身份证上的姓名也会随之修改

    具体表现形式:


关联关系(Association)

    关联关系是一种拥有关系,它使一个类知道另一个类的属性和方法。例如老师与学生,丈夫与妻子,关联可以是双向的也可以是单向的。同时关联关系又分为聚合关系和组合关系

    具体表现形式:


           聚合关系(Aggregation)

    聚合关系是整体与部分的关系,并且部分可以脱离整体单独存在,是一种比较强的关联关系。例如汽车和轮胎是部分和整体的关系,但是轮胎离开汽车依然可以存在

    具体表现形式:


        组合关系(Composition)

    组合关系是整体与部分的关系,但是部分不能脱离整体单独存在,是比聚合关系还要强的关联关系。例如公司和部门是整体和部分的关系,但是没有公司就不存在部门

    具体表现形式:


关联关系与依赖关系的区别:

    我用锤子修了桌子,我和锤子之间就是一种依赖,我和我的同时就是一种关联。

    依赖是一种弱关联,只要一个类用到另一个类,但是另一个类的关系不是太明显的时候,就可以把这种关系看成是依赖,依赖也可说是一种偶然的关系。

    关联是类之间的一种关系,例如老师教学生,丈夫和妻子这种关系是非常明显的。

0 0
原创粉丝点击