本文从以下几个方面来讲解UML图
##1. 类图的基本属性
-表示private
#表示protected
~表示default
_表示static
斜体表示抽象
2.类与类之间的关系
2.1依赖
简单来说,就是一个类A中包含了类B,不管类B是以成员变量的形式还是方法参数的形式存在A中,只要类A中有类B,就可以说A依赖B。用虚线箭头表示,以公司中的项目为例。 DataCollector依赖于AnrCrashCollector、ExitInfoCollector、HprofCollector三个类。其中AnrCrashCollector负责收集anr和crash信息。ExitInfoCollector负责收集日志和event退出信息。 HprofCollector负责收集hprof文件,该文件是内存管理文件。
2.2泛化
泛化就是继承,用一个空性三角+实线表示
2.3聚合
表示一种弱的‘拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。 两个对象具有各自的生命周期。聚合关系用空心的菱形+实线箭头表示。 同样以Crashbox为例
2.4组合
相比于聚合,组合是一种强的‘拥有’关系,体现的是A对象包含B对象,且B对象是A对象的一部分,两者生命周期一样。表示方法:
组00000000000000000000000000000000000000000000000000000000000000000000000000000合关系用实心的菱形+实线箭头表示,还可以使用连线两端的数字表示某一端有几个实例
2.5关联
对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。关联关系用实线箭头表示。
本来想都用公司的项目来做例子,奈何文档就是一坨。。 完全对不上,等搞明白再补充吧
|