[uml] 04_类图和对象图

Android 4.0

类图和对象图

类图和对象图
——用于描述系统中的对象类本身的组成和对象类之间的各种静态关系。
l类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组
对象图描述一组对象与它们之间的联系,它是系统状态的某一时刻的快照,它的使用相当有限,它主要用于了解系统在某个特定时刻的具体状况和数据结构。
对象图表示方法与类图大体相同,对象图中的对象属性可以有具体值,类图中的一个类可以对应成对象图中多个对象,例如,部门类的自关联就可以对应成多个部门对象之间的关联。
1、类图—依赖关系(Dependence)
只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编绎都通过不了。

2、类图—泛化关系(generalization)
泛化关系实际上就是继承关系,他是依赖关系的特例



3、类图—实现关系(Implementation)
实现关系实际上就是A类实现B类,他是依赖关系的特例


l实现关系实际上就是A类实现B类,他是依赖关系的特例
4、类图—关联关系(Association)
关联关系实际上就是类与类之间的联系他是依赖关系的特例
关联具有导航性:即双向关系或单向关系
①单向关系→一对一
②单向关系→一对多
③双向关系→一对一
④双向关系→多对多
⑤自关联

l
4、类图—聚合关系(Aggregation)
聚合关系(Aggregation)表示的是整体和部分的关系,整体与部分可以分开聚合关系是关联关系的特例,所以他具有关联的导航性与多重性。
如:一台电脑由键盘(keyboard)、显示器(monitor),鼠标等组成;组成电脑的各个配件是可以从电脑上分离出来的
使用带空心菱形的实线来表示:
也就是说Mouse和Monitor不是Computer所必须有的
l
5、类图—聚合关系(Aggregation)
也是整体与部分的关系,但是整体与部分不可以分开。
如果我们人Mouse,Monitor和Computer是不可分离的,则升级为组合关系

类图和Java代码互相生成
①类图→.java代码:
选中图→Tools→Java/J2EE→Generate Code
②.java代码→类图
选中图→Tools→Java/J2EE→Reverse Engineer→reverse
类图练习1——单例设计模式

生成的Java文件:


类图练习2——工厂设计模式