ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

ABAP OO的基本构造

ABAP OO的基本构造

想象一下,你要造一种“全能机器人”(这就是一个类 Class)。

在 ABAP OO 中,要把这个机器人造出来并跑起来,结构非常固定,主要分为三部分:“画图纸”“造零件”“下指令”

以下是通俗易懂的必要结构说明:


1. 第一部分:画图纸 (CLASS ... DEFINITION)

这是告诉 SAP,这个机器人长什么样,有什么功能。

这一部分不写具体的代码逻辑,只定义“接口”和“变量”。它必须分为两个区域:

  • PUBLIC SECTION(对外部公开区):
    • 这是机器人的“操作面板”
    • 别人(其他程序)只能通过这里的方法和变量来控制机器人。
    • 比如:RUN(运行),GET_RESULT(获取结果)。
  • PRIVATE SECTION(内部私有区):
    • 这是机器人的“内脏和电路”
    • 只有机器人自己内部能用,外部程序看不见也摸不着。
    • 比如:MV_API_KEY(私钥),INTERNAL_CALCULATION(内部计算逻辑)。

abap

CLASS lcl_robot DEFINITION. PUBLIC SECTION. " 【对外接口】大家都能调用的方法 METHODS: run, say_hello. PRIVATE SECTION. " 【内部数据】只有机器人自己知道的秘密 DATA: mv_name TYPE string. ENDCLASS.

2. 第二部分:造零件 (CLASS ... IMPLEMENTATION)

这是告诉 SAP,这些功能具体是怎么实现的。

这一部分是写具体 ABAP 代码的地方(WRITE,IF,LOOP等)。刚才在 Definition 里声明了什么方法,这里就必须一个不漏地写出来。

abap

CLASS lcl_robot IMPLEMENTATION. METHOD run. " 具体的干活逻辑 mv_name = 'DeepSeek'. " 内部变量可以直接用 WRITE: / '机器人启动中...'. ENDMETHOD. METHOD say_hello. WRITE: / '你好,我是', mv_name. ENDMETHOD. ENDCLASS.

3. 第三部分:下指令 (调用/实例化)

这是主程序,真正把机器人造出来干活。

光有图纸(Class)没用,你得用NEW关键字把它造出来(实例化对象),然后按按钮。

abap

START-OF-SELECTION. " 1. 造机器人 (实例化) DATA(lo_my_bot) = NEW lcl_robot( ). " 2. 按按钮 (调用 Public 方法) lo_my_bot->run( ). lo_my_bot->say_hello( ). " 注意:你不能写 lo_my_bot->mv_name,因为那是 Private 的(内脏)。

总结一张图

结构名称通俗比喻作用关键字
DEFINITION产品说明书定义有什么按钮(Public),肚子里有什么零件(Private)PUBLIC SECTION,PRIVATE SECTION,METHODS,DATA
IMPLEMENTATION工厂车间具体的制作工艺,写代码逻辑的地方METHOD ... ENDMETHOD
NEW ...生产出厂把图纸变成实物,并在主程序中使用NEW class_name( ),->

记住这个公式:
ABAP OO =定义 (声明)+实现 (逻辑)+实例化 (使用)

返回列表