我们介绍“ 类图”:
用于描述系统中的类与类之间的各种关系。

继承:父子类关系;

实现:类与接口关系;
关联(全局变量, 组合/聚合): 值、引用;
依赖:局部变量(非Spring中 依赖注入)。

1.类图举例
我们在Rose中创建类图的方法:

创建一个实体:

然后鼠标放在实体上面,单击鼠标右键,可以添加这个实体类的属性和方法:

添加一个属性,然后双击属性,点检attribute可以设置属性的详细:

然后我们再添加一个name的属性。

之后我们按照上面类似的方法,给实体类添加一个方法:

然后我们给它设置一个参数(String name),无返回(void)

然后用同样的方法我们添加getName()方法:

如果不显示方法的参数,可以勾选“显示原型”:

之后我们添加一个接口:

接口图形如果是圆的,不想用圆的:

想改成方的,就在这里更改:

好了,我们的类图的例子和设置方法给大家了,我们将使用这种画图方法来画一个完整的类图。
我们画一个用户管理模块的类图:

其中图中的"关联"和"依赖"的不同:
关联:全局性
依赖:局部性

然后我们解释一下图中的各种关系:
(1)继承关系

public abstract class BaseDaoImpl{
public void save(Object entity){
}

public Object findObject(Object id){
}}
public class UserDaoImpl extends BaseDaoImpl{
 }

(2)实现关系

public interface UserDao {
 }
 public class UserDaoImpl
 implements UserDao {
 }

(3)关联关系
关联关系实际上就是类与类之间的联系;
关联具有导航性:即双向关系或单向关系。

(4)关联之聚合关系(By ref)
聚合关系,表示的是整体和部分的关系,整体与部分可以分开。

使用带空心菱形的实线来表示:

(5)组合关系(By value)
也是整体与部分的关系,但是整体与部分不可以分开;部分离开整体没有实际意义。
使用带实心菱形的实线来表示:

(6)依赖关系
A类使用到了另一个B类型。

关系具有:临时性的、偶然性,但是B类的变
会影响到A。代码层面,为类B作为参数被类A在某个method方法中使用。