ABAP对象:方法&构造方法
2015-11-01 22:14
316 查看
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:返回执行中所出现的错误
例:
构造方法没有返回数据类型,功能是在实例化类时完成一些初始化工作,在每一次对象初始化时被自动调用。
声明语句:Methods Constructor
例:
注:如有疏漏之处,还请不吝赐教!
参考资料:
(1).《工程师突击-SAP ABAP实用程序开发攻略》;机械工业出版社;唐骏华 编著。
方法声明关键字: 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. "meth3 ENDCLASS. "callobj IMPLEMENTATION DATA: 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. "CONSTRUCTOR ENDCLASS. "CALLDEF IMPLEMENTATION DATA: calldef TYPE REF TO calldef. " 声明对象 START-OF-SELECTION. CREATE OBJECT calldef. " 实例化对象(同时调用构造方法)
注:如有疏漏之处,还请不吝赐教!
参考资料:
(1).《工程师突击-SAP ABAP实用程序开发攻略》;机械工业出版社;唐骏华 编著。
相关文章推荐
- CodeFile与CodeBehind的区别(转载)
- Spring-注解配置
- nginx之upstream模块缓存系统详解
- UVa 11401 Triangle Counting(Water~)
- C语言字符串常用操作函数-puts、gets、strcmp、strcpy、strcat、strlen
- c++中怎么把string转化为数组
- java 通过控制台输入的数字打印菱形字母
- asp.net 错误提示:Could not load type 'SendEmail.WebPage'
- 最大无重复字母子串
- 在 Linux 上安装 PostgreSQL
- Machine Learning Week 3
- slf4j和log4j搭配实现项目中日志操作
- Android Studio 快捷键 [用到一个记下一个]
- 【11-01】Sublime text 学习笔记
- ORACLE 日期函数 ADD_MONTHS
- 第Nth个闰年题(Problem ID:1076)
- nginx之upstream模块缓存系统详解
- windows环境配置
- 进程间同步互斥经典问题(一)生产者-消费者问题
- GUID相关