简单的ABAP面相对象实例

"包括定义和实现class,属性、构造函数、各种普通方法、静态方法等。

REPORT  ztest_sam_001.
"定义class
*----------------------------------------------------------------------*
*       CLASS ob1 DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS ob1 DEFINITION.
  PUBLIC SECTION.
    DATA name TYPE string VALUE 'name'.

    METHODS:
            constructor IMPORTING i_name TYPE string,"构造函数
            m1,
            m2 IMPORTING msg TYPE string,
            m3 IMPORTING msg1 TYPE string msg2 TYPE string EXPORTING msg3 TYPE string,
            m4 RETURNING value(r) TYPE string.
    CLASS-METHODS: m5.

ENDCLASS.                    "ob1 DEFINITION
"实现class
*----------------------------------------------------------------------*
*       CLASS ob1 IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS ob1 IMPLEMENTATION.
  METHOD constructor.
    name = i_name.
  ENDMETHOD.                    "constructor
  METHOD m1.
    WRITE: '方法中打印'.
  ENDMETHOD.                    "m1
  METHOD m2.
    WRITE: / msg.
  ENDMETHOD.                    "m1
  METHOD m3.
    CONCATENATE msg1 msg2 name INTO msg3 SEPARATED BY '*'.
  ENDMETHOD.                    "m3
  METHOD m4.
    r = name.
  ENDMETHOD.                    "m4
  METHOD m5.
    WRITE: / 'static'.
  ENDMETHOD.                    "m5
ENDCLASS.                    "ob1 IMPLEMENTATION


START-OF-SELECTION.

  ob1=>m5( ).

  DATA ob TYPE REF TO ob1.    "创建class实例
  CREATE OBJECT ob
    EXPORTING
      i_name = 'sam'.        "初始化
  ob->m1( ).
  DATA s1 TYPE string.
  s1 = ob->m4( ).
  ob->m2( msg = s1 ).
  DATA msg TYPE string.

  ob->m3(
  EXPORTING
      msg1 = 'msg'
      msg2 =  'm3'
      IMPORTING
        msg3 = msg
    ).
  WRITE: / msg.

  WRITE: / 'ztest_ob1 test'.
  DATA: o1 TYPE REF TO ztest_ob1.   "-------se24 是创建
  CREATE OBJECT o1.
  o1->m1( 's' ).

  DATA: st1 TYPE string.
  o1->m2(
  EXPORTING     "--------------------------注意exporting、importing和定义时相反
    s1 = 'test s1'
  IMPORTING
    s2 = st1

    ).
  WRITE: / st1.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值