UML图表示类之间的关系
一、泛化(Generanization)
图:
泛化简单的说就是继承关系,在java中就是extend。表示一般与特殊的关系。如鸭子是鸟的一种,即有鸭子的特性也有鸟的共性。用带空心的三角箭头的实线指向父类。
二、接口与实现
图:
这种关系其实就是java里面的implements,是类与接口的关系。有两种表示(因为接口有两种表示方法)。
1.用带空心三角箭头的虚线,箭头指向接口。
2.或者直线连接圆圈,圆圈表示接口。
三、依赖(Dependency)
图:
在java中用import表示,如这个类有依赖到哪个类。可以是方法参数或者方法里面的代码。用带箭头的虚线指向所要依赖的类。
是一种使用的关系。即一个类的实现需要另一个类的协助。所以尽量不使用双向的互相依赖。
四、关联(association)
图:
关联是一种拥有关系。他使一个类知道另一个类的属性和方法。在java中体现就是成员变量。如老师和学生,学生和课程。关联可以是双向的,也可以是单向的。单向的用
带箭头的实线指向被拥有者。双向的箭头去掉,用一条线连接。
五、聚合(Aggregation)
图:
是整体与部分的关系。部分离开整体后仍然可以存在。如轮胎离开车后仍然可以存在。在java中的体现也是成员变量。用一个带空心菱形的实线,指向整体。
六、组合(Composition)
图:
是整体与部分的关系。但是部分离开整体不可以单独存在。如人和手是不可分离的。表现形式也是成员变量。用一个带实心菱形的实线,指向整体。