UML类图快速入门
UML是一个通用的可视化建模描述语言,通过图形符号和文字来对系统进行建模。适用于各种软件的开发方法、生命周期的各个阶段。
类的UML图示
类使用包含类型、属性和操作(方法)且带有分割线的长方形来表示,如:
对应的C#代码:
1 | public class Employee |
UML属性定义格式
可见性 名称:类型[=默认值]
- 可见性:+、-、#分别代表public\private\protected
- 名称表示属性名
- 类型表示属性数据类型
- 默认值为可选项
UML操作(方法)定义格式
可见性 名称(参数列表)[:返回类型]
类之间关系
关联
表示类与类之间最常用的一种关系,如登录界面类LoginForm中包含一个Button类型的按钮。
对应的C#代码:
1 | public class LoginForm |
双向关联
默认情况关联是双向的,如顾客购买商品并拥有商品,二商品也总有某个顾客与之关联。
对应的C#代码
1 | public class Customer |
单向关联
单向关联使用带箭头的实线来表示。
对应的C#代码:
1 | public class Customer |
自关联
对应的C#代码:
1 | public class Node |
多重性关联
表示两个关联对象在数量上的对应关系
表示方式 | 说明 |
---|---|
1..1 | 另一个对象与该类的一个对象有关系 |
0..* | 另一个对象与该类的零个或多个对象有关系 |
1..* | 另一个对象与该类的一个或多个对象有关系 |
0..1 | 另一个对象与该类的零个或一个对象有关系 |
m..n | 另一个对象与该类的最少m个最多n个对象有关系(m≤n) |
对应的C#代码:
1 | public class Form |
聚合关系
表示整体与部分的关系,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。如汽车和发动机,发动机可以独立存在。
1 | public class Engine |
组合关系
表示整体和部分的关系,和聚合不同的是,表示部分的对象不能独立存在。
对应的C#代码:
1 | public class Head |
依赖
表示特定事物改变可能会影响到使用该事物的其他事物。
依赖关系通常通过3
种方式来实现:
- 一个类的对象作为另个类中的方法参数
- 在一个类的方法中将另个类的对象作为局部变量
- 在一个类的方法中调用另一个类的静态方法
对应的C#代码:
1 | public class Car |
泛化
泛化关系也就是继承关系
对应的C#代码:
1 | public class Person |
接口实现
\
对应的C#代码:
1 | public interface Vehicle |
UML类图快速入门