1 类图中箭头详解

1 泛化:继承 extends

image.png

2 实现:implement

image.png

3 依赖

概念:是一种使用的关系,即一个类的实现需要另一个类的协助。在Java中,方法参数需要传入另一个类的对象,就表示依赖这个类。

image.png

4 关联

概念:表示类与类之间的联接,它使一个类知道另一个类的属性和方法,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的。 在Java中,一个类的全局变量引用了另一个类,就表示关联了这个类 与依赖的区别是,依赖是方法参数,关联是全局变量!!

  1. ![image.png](https://cdn.nlark.com/yuque/0/2022/png/21620070/1647399237012-0056f54c-a19b-4f22-b6f6-82b3352fc822.png#clientId=ued75dc00-e636-4&from=paste&height=280&id=u7dd0d158&margin=%5Bobject%20Object%5D&name=image.png&originHeight=373&originWidth=716&originalType=binary&ratio=1&size=114340&status=done&style=stroke&taskId=u9fb26a52-eeb8-420e-b0fe-ea0abc7c8a1&width=537)

5 聚合:

概念:聚合是关联关系的一种特例,是强的关联关系。聚合是整体和个体之间的关系,即has-a的关系,整体与个体可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。程序中聚合和关联关系是一致的,只能从语义级别来区分

    ![image.png](https://cdn.nlark.com/yuque/0/2022/png/21620070/1647399350456-3e2fa66b-a810-4da3-9734-a6f24c8db66a.png#clientId=ued75dc00-e636-4&from=paste&height=269&id=u64c3c77a&margin=%5Bobject%20Object%5D&name=image.png&originHeight=358&originWidth=684&originalType=binary&ratio=1&size=111539&status=done&style=stroke&taskId=uc867698b-0c45-41c7-aee7-eb2879c1588&width=513)

6 组合

概念:组合也是关联关系的一种特例。组合是一种整体与部分的关系,即contains-a的关系,比聚合更强。部分与整体的生命周期一致,整体的生命周期结束也就意味着部分的生命周期结束,组合关系不能共享。程序中组合和关联关系是一致的,只能从语义级别来区分。

    ![image.png](https://cdn.nlark.com/yuque/0/2022/png/21620070/1647399448755-ff18759f-0d96-4042-a257-5e4f7e67c9f6.png#clientId=ued75dc00-e636-4&from=paste&height=351&id=u6e318e4e&margin=%5Bobject%20Object%5D&name=image.png&originHeight=468&originWidth=639&originalType=binary&ratio=1&size=92094&status=done&style=stroke&taskId=u89535fe7-62e1-464c-8949-d922a87bc37&width=479)

7 总结:

聚合、组合都是关联关系的一种特例,语义性更强;不用去强行理解,了解前四种就够了,尤其是前两种就基本够看了;