ABAP对象:方法&构造方法
来源:互联网 发布:淘宝旺旺名可以修改吗 编辑:程序博客网 时间:2024/06/03 20:16
1. 方法
方法声明关键字: METHODS 或CLASS-METHODS
方法实现代码: METHOD……ENDMETHOD
基本语法:
METHOD <meth>
IMPORTING ... <i> TYPE <type> ...
EXPORTING ... <e> TYPE <type> ...
CHANGING ... <c> TYPE <type> ...
EXCEPTIONS ... <x> ...
IMPORTING/EXPORTING:数据输入/输出
CHANGING:可同时作为输入、输出接口
EXCEPTIONS:返回执行中所出现的错误
例:
*----------------------------------------------------------------------** CLASS callobj DEFINITION*----------------------------------------------------------------------** 声明类*----------------------------------------------------------------------*CLASS callobj DEFINITION. PUBLIC SECTION. TYPES: BEGIN OF dt_city, name TYPE char10, END OF dt_city. TYPES: dt_it_city TYPE TABLE OF dt_city. DATA: ls_city TYPE dt_city. METHODS: meth1 IMPORTING value(ivt_city) TYPE dt_it_city. " 输入参数,內表作为参数 METHODS: meth2 EXPORTING value(evs_city) TYPE dt_city. " 输出参数,结构体作为参数 METHODS: meth3 CHANGING value(cv_num) TYPE i.ENDCLASS. "callobj DEFINITION*----------------------------------------------------------------------** CLASS callobj IMPLEMENTATION*----------------------------------------------------------------------** 实现类方法*----------------------------------------------------------------------*CLASS callobj IMPLEMENTATION. METHOD meth1. WRITE: '方法一:'. LOOP AT ivt_city INTO ls_city. WRITE: / ls_city-name. ENDLOOP. ENDMETHOD. "meth1 METHOD meth2. evs_city = '济南'. ENDMETHOD. "meth2 METHOD meth3. cv_num = cv_num + 20. ENDMETHOD. "meth3ENDCLASS. "callobj IMPLEMENTATIONDATA: obj TYPE REF TO callobj.DATA: num TYPE i.DATA: g_struc TYPE callobj=>dt_city. " 参考类变量定义相关结构体及内表DATA: g_tab TYPE callobj=>dt_it_city.START-OF-SELECTION. CREATE OBJECT obj. g_struc-name = '北京'. APPEND g_struc TO g_tab. g_struc-name = '上海'. APPEND g_struc TO g_tab. g_struc-name = '广州'. APPEND g_struc TO g_tab. CALL METHOD: obj->meth1 EXPORTING ivt_city = g_tab, " g_tab值赋给ivt_city obj->meth2 IMPORTING evs_city = g_struc. " evs_city值输出到g_struc WRITE:/ '方法二:',/ g_struc-name. WRITE:/ '方法三:'. WRITE: / num. CALL METHOD: obj->meth3 CHANGING cv_num = num. WRITE: / num.2.构造方法
构造方法没有返回数据类型,功能是在实例化类时完成一些初始化工作,在每一次对象初始化时被自动调用。
声明语句:Methods Constructor
例:
*----------------------------------------------------------------------** CLASS CALLDEF DEFINITION*----------------------------------------------------------------------** 声明类*----------------------------------------------------------------------*CLASS calldef DEFINITION. PUBLIC SECTION. METHODS constructor. " 声明构造方法 PRIVATE SECTION. DATA: outpara TYPE string.ENDCLASS. "CALLDEF DEFINITION*----------------------------------------------------------------------** CLASS CALLDEF IMPLEMENTATION*----------------------------------------------------------------------** 实现类方法*----------------------------------------------------------------------*CLASS calldef IMPLEMENTATION. METHOD constructor. " 实现构造方法(进行初始化) outpara = 'Execute SAP Construct'. WRITE: outpara. ENDMETHOD. "CONSTRUCTORENDCLASS. "CALLDEF IMPLEMENTATIONDATA: calldef TYPE REF TO calldef. " 声明对象START-OF-SELECTION. CREATE OBJECT calldef. " 实例化对象(同时调用构造方法)
参考资料:
(1).《工程师突击-SAP ABAP实用程序开发攻略》;机械工业出版社;唐骏华 编著。
0 0
- ABAP对象:方法&构造方法
- 面向对象 构造方法
- js对象构造方法
- 构造方法,面向对象
- Event()对象的构造方法
- Java常用对象构造方法
- 构造方法实现对象初始化
- 构造方法和匿名对象
- 构造方法与匿名对象
- 面向对象的构造方法:
- JAVA面向对象-----构造方法
- 类和对象-构造方法
- php面向对象-构造方法
- 面向对象之构造方法
- 面向对象,函数构造方法
- 类和对象【构造方法】
- 类和对象、构造方法
- 对象数组的构造方法
- mysql事务和锁InnoDB
- 配置Linux网络前必知的四个IPv4基本概念
- POJ 1006 与中国剩余定理
- UESTC 618 无平方因子数 ( 莫比乌斯)
- Android 日志打印工具类 可显示打印所在的方法和行号
- ABAP对象:方法&构造方法
- 软件测试的原则
- 字符串处理2-基本字符串压缩
- BigDecimal
- JavaScript设计模式 Item 4 --继承
- 欢迎使用CSDN-markdown编辑器
- Android应用横竖屏切换处理
- win7自带远程应用
- java的内省与反射