创建类图
创建类图模型
类与类之间的关系:泛化 generalization 、实现 Realization、关联 Association、聚合 Aggregation、组合 Composition、依赖 Dependency
泛化:子类继承父类
实现:实现类继承接口
关联是一种拥有的关系, 使一个类知道另一个类的属性和方法,就是一个对象A中持有对象B的引用,这样对象B中的属性和方法。类A中有类B的引用,类Person 中有类 Address
组合是整体与部分的关系, 但部分不能离开整体而单独存在. 如公司和部门是整体和部分的关系, 没有公司就不存在部门。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期
代码体现:成员变量
箭头指向:带实心菱形的实线,菱形指向整体
比如一个大厦肯定是由很多种材料构成的,如果没有这些材料,这大厦就不存在
依赖是一种使用的关系, 即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖
代码表现:局部变量、方法的参数或者对静态方法的调用
箭头指向:带箭头的虚线,指向被使用者
各种关系的强弱顺序:泛化 >实现>组合> 聚合> 关联> 依赖
最后把这些关系在java代码中的体现总结下:
(1) 依赖关系:关系对象出现在局部变量或者方法的参数里,或者关系类的静态方法被调用
(2) 关联关系:关系对象出现在实例变量中
(3) 聚合关系: 关系对象出现在实例变量中
(4) 组合关系:关系对象出现在实例变量中
(5) 泛化关系: extends
(6) 实现: implements