UML 类图与对象图 (★★★)
#abap-objects #uml #class-diagram #association
概览表
| 项目 |
关键点 |
| 类图 |
描述类的结构、属性、方法及其关系 |
| 对象图 |
描述特定时刻的对象实例及其关系 |
| 关联 |
类之间的连接关系 |
类图 (Class Diagram)
UML类图是最重要的建模工具之一:
- 描述系统中类的静态结构
- 显示类的属性、方法和关系
- 为OO编程提供蓝图
类的UML表示
1 2 3 4 5 6 7 8 9 10
| ┌──────────────────────┐ │ Class Name │ ← 类名(大写首字母) ├──────────────────────┤ │ - private_attr: Type │ ← 属性(-私有, +公有, #受保护) │ + public_attr: Type │ │ # protected_attr: Type│ ├──────────────────────┤ │ + method1(): Type │ ← 方法 │ - method2(param: T) │ └──────────────────────┘
|
可见性符号
| 符号 |
含义 |
ABAP对应 |
+ |
公有 (public) |
PUBLIC SECTION |
- |
私有 (private) |
PRIVATE SECTION |
# |
受保护 (protected) |
PROTECTED SECTION |
关联关系 (Associations)
关联类型对比
| 类型 |
UML表示 |
含义 |
生命周期 |
| 关联 |
实线 |
一般性连接 |
独立 |
| 聚合 |
空心菱形 + 实线 |
整体-部分关系 |
部分可独立存在 |
| 组合 |
实心菱形 + 实线 |
强整体-部分关系 |
部分不能独立存在 |
1 2 3 4
| 聚合 (Aggregation): 组合 (Composition): ◇────────── ◆────────── Rental Vehicle Travel Flight Agency (可独立) Agency (不可独立)
|
多重性 (Multiplicity)
| 符号 |
含义 |
1 |
恰好一个 |
0..1 |
零或一个 |
* |
零或多个 |
1..* |
一个或多个 |
对象图 (Object Diagram)
对象图显示特定时刻的对象实例:
- 对象名带下划线
- 显示实际的属性值
- 对象之间的关系用实线连接
1 2 3 4 5 6 7
| ┌──────────────────────┐ │ myCar: LCL_VEHICLE │ ← 对象名:类名(带下划线) ├──────────────────────┤ │ make = "BMW" │ ← 实际属性值 │ model = "X5" │ │ speed = 120 │ └──────────────────────┘
|
考试/测试模式
| 场景/关键词 |
答案 |
| “聚合与组合的区别” |
聚合的”部分”可独立存在,组合的”部分”不能 |
| “可见性符号 - + #” |
-=私有, +=公有, #=受保护 |
| “多重性 0..1 的含义” |
零或一个实例 |
| “对象图 vs 类图” |
对象图是类图的实例化快照 |