1.引言
对于开发人员来说绘制比较多的应该是类图,类图主要描述:描述系统中的类与类之间的各种关系。关系主要有:
- 继承:父子类关系
- 实现:类与接口关系
- 关联(全局变量, 组合/聚合): 值、引用
- 依赖:局部变量
2.类图的简单介绍
- 右键创建一个类图
- 类图图标的含义
- 图形的显示
Show visibility :显示属性和方法可见性(即private和public)
Show all Attribute: 显示所有属性
Show all operactions:显示所有方法
Show operation Signature: 显示方法声明
Show operation Stereotype: 方法类型
3.每个图标的具体使用
3.1创建一个类
- 首先拖入一个类,取名为User
3.2给类添加属性信息
- 右键User类添加属性username,password
- 双击类可以给属性赋予更加详细的信息
- 假设我们给username设置详细信息(双击username属性)
3.3 给类添加方法
- 给类添加方法setUsername,getUsername,右击类添加两个方法
- 双击类修改方法的具体信息(设置setUsername的参数,设置getUsername的返回值)
- 双击具体方法名称,修改详细信息
- 双击新建的参数,修改具体信息
- 修改getname的返回值
- 设置类的显示形式,可以看到类的方法信息
3.4 创建一个接口(UserService)
- 直接拖入窗口
- 修改接口的表示方法(修改为label)
- 接口的表现图标修改为下面的样子:
3.5 给接口添加属性方法和Class的一样(略)
3.6 类和接口的实现
3.7 类和类的继承关系(接口和接口的继承)
3.8 接口和实体类的关系(方法中的形参)
- 比如
interface UserService{
public User getUser(User user);
}
- 此时实体类是以参数的形式存在,这种关系叫做:依赖(注意和Spring的依赖注入区分)
3.9 接口和业务类的关系(比如UserServiceImpl和UserDao)
- 代码实例(此时:UserDao和UserServiceImpl之间的关系是全局的,关系叫做:关联)
class UserServiceImpl{
//注意这里的userDao是类成员,不是参数
priavte UserDao userDao;
public User getUser(User user){
}
}
- 关系图如下
3.10 再看关联操作(这里主要用与实体类,也就是JavaBean)
我们在看一下关联操作,关联操作又分为:组合/聚合
- 组合也叫做强关联
- 聚合也叫做弱关联
3.10.1 关联操作之强关联
举个例子:强关联:两个实体类不能分割,比如班级和学生关系,一个班级有很多的学生,但是如果班级没有了学生,那么班级也就不存在了。
//班级类,班级和学生是一对多的关系
class Classes{
private List<Student> students;
}
- 绘制图形如下
- 双击关联线,修改为强关联
- 修改为1对多的关系
- 修改完成之后的图形为:
3.10.2 关联操作之弱关联
- 只需要修改一个地方即可(假设班级和学生是弱关联)
4.总结
在此篇博客中主要介绍了:
- 如何去绘制类图
- 绘制各种类之间的关系
- 绘制实体和类之间的关系