一、概念
类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。它用于描述系统的结构化设计。
二、组成
一般包含3个组成部分:类名、属性、方法( 类的性质可以放在第四部分;如果类中含有内部类,则会出现第五个组成部分)。类名部分是不能省略的,其他组成部分可以省略。
三、关系
常见的关系有:关联(分为普通关联,聚合,组合),泛化,实现,依赖关系。
泛化关系:是一种继承关系,它指定了子类如何特化父类的所有特征和行为。例如:猫是动物的一种。
箭头指向:箭头指向父类
实现关系:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
箭头指向:箭头指向接口
关联关系:是一种拥有的关系,它是一个类知道另一个类的属性和方法。如:老师和学生,母亲和孩子
关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
箭头指向:指向被拥有者
自身关联
双向关联
聚合关系:是整体与部分的关系,如车和车胎是整体与部分的关系。
箭头指向:菱形箭头指向整体
组合关系:是整体与部分的关系,没有公司就不存在部门。是一种比聚合关系还要强的关系。
箭头指向:实心菱形指向整体
依赖关系:是一种使用的关系,所以尽量不要使用双向的互相依赖。
代码表现:局部变量、方法的参数或者对静态方法的调用。
参考图:机房收费系统类图
初次画UML类图,理解还不到位,画出来的图可能有错误的地方,欢迎大家对本博客提出宝贵的建议和意见。