类图是面向对象思维的结晶,是以对象的视角描述客观世界的事物:
- 对象是客观世界存在物,占有空间 //例如一个轮子
- 对外表现特征 //例如 轮子的半径
- 跟外部发生作用
- 一个对象可能由更小的对象构成,就像分子里面还有原子;
- 一个对象可能和另一个对象有link
现实世界对象很多,人为了描述简洁、便于交流,把几个相似的对象抽象为类:
- 类只存在于人的头脑中、人的语言中,
- 给类起个名字,反应其所代表的对象实例
- 用属性描述对象的特征
- 用方法描述对象的行为
- 部分对象的类可以组成整体对象的类
- 一个类可以关联到另一个类
- 几个类似的类可以抽象为父类
- ... ...
对象之间的关系抽象为类的关系:关联,聚合,组成,泛化,实现 等等。
当我们面对复杂的逻辑描述的时候,阅读的过程实际上就是理解各种概念和关系的过程,面向对象分析方法和类图可以大大提高理解的效率和精确性。
类图有什么
任何UML图都有语义、元素、关系和用途,下面对类图做个列表描述:
语义:
描述类、类的属性和方法,以及类之间的关系
元素:
类 (class),接口(interface),抽象类(abstract class)
关系:
类之间的关系:
- 关联-association,聚合-aggregation,组成-compose
- 依赖-dependency
- 泛化-generalize
类和接口的关系:
- 实现-realization
用途:
把客观世界的对象分类,用属性描述特征,用方法描述行为,建模各个类之间的关系,帮助用户:
- 概念建模
- 数据建模
- 设计类建模
- 实现类建模