UML类图
-
基本介绍
UML(Unified Modeling Language),即统一建模语言。是一种用于软件系统设计和分析的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。
UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等。画UML图与写文章差不多,都是把自己的思想描述给别人看,关键在于思路和条理,UML图分类:
1)用例图(use case)
2)静态结构图:类图、对象图、包图、组件图、部署图
3)动态行为图:交互图(时序图与协作图)、状态图、活动图
->类图是描述类与类之间的关系的,是UML图中最核心的。 -
类之间的关系
- 依赖(Dependence)
只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对象,连编译都通过不了。 - 泛化(继承Generalization)
泛化关系实际上就是继承,它是依赖关系的特例。如果A类继承了B类,那么A与B之间就存在继承关系。 - 实现(Implementation)
实现关系就是A类实现B类,它是依赖关系中的特例。 - 关联(Association)
关联关系实际上就是类与类之间的联系,它是依赖关系的特例。关联具有导航性,即单向关系或双向关系。关联还具有多重性:如“1”表示有且只有一个,“0…”表示0个或多个,“0,1”表示0个或1个,“n…m”表示n到m个都可以,“m…”表示只有m个。
- 聚合(Aggregation)
聚合关系表示整体与部分之间的关系,整体与部分可以分开,就像电脑上的键盘和鼠标一样。聚合关系是关联关系的特例,所以他具有关联关系的导航性与多重性。 - 组合(Composition)
组合关系也是整体与部分的关系,但是整体与部分不可分开。
在程序中我们定义实体:Person与IDCard、Head,那么Head和Person就是组合,IDCard和 Person就是聚合。
但是如果在程序中Person实体中定义了对IDCard进行级联删除,即删除Person时连同IDCard一起删除,那么IDCard和 Person就是组合了。
- 依赖(Dependence)