UML建模学习-类图

UML建模

定义

UML:统一建模语言

使用软件:StarUML

分类

  1. 类图

    类图是描述系统中的类,以及各个类之间的关系的静态视图,能够让我们在编写代码以前对系统有一个全面的认识。类图是一种模型类型,是一种静态模型类型。

  2. 时序图

  3. 用例图

  4. 协作图

  5. 状态图

  6. 活动图

  7. 构件图

  8. 部署图

类图(Class Diagram)

继承关系(Generalization)

表示类继承关系

用带三角箭头的实线表示,箭头指向父类


UML建模学习-类图_第1张图片
继承关系.png

如上图,每一个矩形代表一个类,类中包含各自的方法。而上面表示的类层级关系为,MainActivity继承自BaseSkinActivity,BaseSkinActivity继承自BaseActivity。

实现关系(Realization)

表示类和接口的实现关系

用带三角箭头的虚线表示,箭头指向接口

UML建模学习-类图_第2张图片
实现关系.png

IHttpRequest是一个接口,OkHttpRequest和XutilsRequest分别实现了这个接口。

依赖关系(Dependency)

这是一种使用关系,即一个类的实现需要另一个类的协助

代码体现:局部变量、方法的参数或者对静态方法的调用

用带箭头的虚线表示,箭头指向被使用者

UML建模学习-类图_第3张图片
依赖关系.png

我们一般在MainActivity中使用ButterKnife来绑定控件,这里MainActivity便依赖于ButterKnife。

关联关系(Association)

这是一种拥有关系,它让一个类知道另一个类属性和方法

代码体现在成员变量上。可以是单向也可以是双向的。

双向关联时由带两个箭头或者没有箭头的实线连接;单向关联时用带箭头的实线,箭头指向被拥有者

UML建模学习-类图_第4张图片
关联关系.png

在上面的层级关系中,Teacher类和Student类是双向关联的,因为一个老师可以有教多名学生,一个学生也可以有多个科目的任课教师,同样的一个学生可以有多个课程,而课程作为一个抽象,不能拥有学生。

聚合关系(Aggregation)

这是一种整体和部分的关系,部分可以离开整体单独存在。如:公司和雇员,车和轮胎。

代码体现在:成员变量

用带空心菱形的实线,菱形指向整体


UML建模学习-类图_第5张图片
聚合关系.png

组合关系(Composition)

这也是一种整体和部分的关系,但部分不能离开整体而单独存在。如地球和人,人不能离开地球而单独存在。

用带实心菱形的实线表示,菱形指向整体。

UML建模学习-类图_第6张图片
组合关系.png

你可能感兴趣的:(UML建模学习-类图)