类和接口
➤ 具体类:
- 第一层类名, 第二层成员变量, 第三层方法
- 访问控制:
+
表示public,-
表示private …
➤ 抽象类:
- 类名用斜体
➤ 接口:
- 类名有
Interface
标识
➤ 包:
关系
➤ TOC
- 类-接口关系: 实现关系, implements, 实现类–▷接口 //虚线
- 类-类关系:
- 泛化关系: is-a, extends, 派生类——▷基类 //实线
- 关联关系: A持有B的引用, A——>B
- 依赖关系: usa-a, A–>B
- 聚合关系: has-a, A◇–>B
- 组合关系: contains-a, A◆–>B
➤ 实现关系:
- 例如java中的
implements Interface
➤ 泛化关系:
- 例如java中的
extends BaseClass
➤ 关联关系:
- A有B类型的成员变量
➤ 依赖关系:
- use-a
- 可以看作是一种弱关联关系, 比上面的关联关系弱, 包括几种情况:
- A中定义了(B类型的)局部变量
- A调用了B的静态方法
- A的方法形参是B类型
- A的方法返回B类型
➤ 聚合关系:
- has-a, 特殊的关联关系
- A关联B对象, 但A和B关系不紧密, 例如B可以属于多个A1,A2…类型
- 例如员工和部门, 员工可以属于多个部门, 部门裁撤, 员工可以转移到其他部门
➤ 组合关系:
- contain-a, 特殊的关联关系
- A关联对象B, A和B关系紧密, A和B同一个生命周期(一般由A管理B的生成和释放)
- 相比依赖/聚合关系, 组合关系表示更强的紧密程度