标签:继承 图结构 关联关系 依赖关系 直接 依赖 多线程编程 节点 父类
1.依赖关系(在java中类似于delegation):用虚线箭头表示
是类和类之间的一种关系。这种关系是单向的,如果为双向的就可能造成像多线程编程中的死锁现象,程序进入死循环。
2.关联:实线箭头表示
一个类关联一个类的话,就是在关联类中存在着一定的field存储被关联类,可以调用被关联类的所有属性和方法。这种关联关系可以是双向的,如果为双向的,则可直接用一个直线表示其之间的关系。
例如,一个图结构中,由边和节点等元素组成。其中图、边、节点都是单独的类。这时,图中就应存储有图中的顶点和边,这时,图这个类和顶点类、边类就是一种关联关系。
3.聚合:带空心菱形头表示
聚合是上面所说的关联的一个特例,关联并不强调关联者和被关联着之间必须是从属关系,而聚合则要求两个类具有一定的从属关系。也就是整体和部分的关系。上面举得图结构的例子其实其关系也是聚合关系。
4.合成:实心菱形头表示
这里,合成又是聚合的一个特例,聚合只是要求两个类之间具有从属关系,而合成,要求两个类之间不仅具有从属关系,而且还要求两个具有从属关系的两个类具有相同的生命周期。比如说鸟和翅膀,如果鸟是一个类,翅膀是一个类,则首先这两个类是一个关联,聚合。同时,当鸟死亡后,翅膀也就随之失效,这两个类具有相同的生命周期,所以这是一个合成关系。
5.继承:空心箭头加实线表示
这个不用过多的解释,就是子类和父类的继承关系。
6.实现:空心箭头加虚线表示
具体的类对于interface的实现。
标签:继承 图结构 关联关系 依赖关系 直接 依赖 多线程编程 节点 父类
原文地址:https://www.cnblogs.com/mrchi/p/9151966.html