1.关联
双向关联:C1-C2:都可以调用对方的公共属性和方法。
双向关联在代码的表现为双方都拥有对方的一个指针,当然也可以是引用或者是值。
单向关联:
C3->C4,;表示相识关系,指C3知道C4,C3可以调用C4的公共属性和方法,没有生命期的依赖,一般表示为一种引用。
单向关联的代码就表现在C3有C4的指针,而C4对C3一无所知。
自身关联:自己引用自己,带着一个自己的引用。
2.聚合、组合
当类之间有整体-部分关系的时候,我们可以使用组合或者聚合
聚合:表示C9聚合C10,但是C10可以离开C9而单独存在
实心菱形加实线箭头表示,C8被C7包容,而且C8不能离开C7而单独存在。
3.依赖
C5可能要用到C6的一些方法,也可以这样说,要完成C5的功能,需要C6的方法支持
4.泛化(继承)
泛化关系:如果两个类存在泛化的关系时就使用,例如父类跟子类,动物和老鼠,植物和花等。
5.模板
基本元素符号::
1.类:1.类名 2.属性 3.方法
属性跟操作之间有一个可见性修饰符号,加号(+)表示公共可见性,(-)表示私有性(#)表示受保护的可见性,省略这些修饰符表示具有package级别的可见性。如果属性或操作有下划线,表明它是静态的。
2.包
包是一种常规用途的组合机制。UML中一个包直接对应于java中的一个包,每个包的名称对这个包进行了唯一性的标示。
3.接口
接口是一系列操作的集合,它指定了一个类所提供的服务,直接对应于java中的一个接口类型。接口即可用下面的那个图标来标示(圆圈,下面是接口名,中间是直线,下边是方法名),也可以附加了<>的一个标准类来表示。
关系::
1依赖:
2.关联
3.聚合
4.合成
5.泛化
6.实现