局部类 — 预览 (★★★)
#abap #abap-modularization
概览表
| 部分 |
关键字 |
用途 |
| 定义部分 |
CLASS … DEFINITION |
声明组件(方法、属性) |
| 实现部分 |
CLASS … IMPLEMENTATION |
实现方法逻辑 |
局部类的结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| " ---- 定义部分 ---- CLASS lcl_example DEFINITION. PUBLIC SECTION. METHODS: get_result IMPORTING iv_input TYPE i EXPORTING ev_output TYPE i.
PRIVATE SECTION. DATA: mv_value TYPE i. ENDCLASS.
" ---- 实现部分 ---- CLASS lcl_example IMPLEMENTATION. METHOD get_result. mv_value = iv_input * 2. ev_output = mv_value. ENDMETHOD. ENDCLASS.
|
可见性区域
| 区域 |
访问范围 |
| PUBLIC SECTION |
类的所有使用者 |
| PROTECTED SECTION |
类 + 子类(继承) |
| PRIVATE SECTION |
仅类内部 |
使用局部类
1 2 3 4 5 6
| DATA: go_obj TYPE REF TO lcl_example.
CREATE OBJECT go_obj. CALL METHOD go_obj->get_result EXPORTING iv_input = 5 IMPORTING ev_output = gv_result.
|
完整的 ABAP Objects 面向对象编程在 BC401 课程中讲解。本预览仅涵盖将局部类作为模块化技术所需的基础知识。
考试/测试模式
| 场景/关键词 |
答案 |
| “定义与实现的区别?” |
DEFINITION 声明接口;IMPLEMENTATION 包含代码 |
| “公有与私有区域?” |
公有 = 外部可访问;私有 = 仅内部 |
| “局部类的作用范围?” |
仅在定义它的程序中可用 |
相关笔记