SAP-abap学习记录(5)

*&---------------------------------------------------------------------*
*& Report  ZTEST_ABAP_5
*&
*&---------------------------------------------------------------------*
*&本程序是关于abap的面向对象初步练习(类和对象)
*&
*&---------------------------------------------------------------------*
REPORT ztest_abap_5.

*类的使用有以下四步:
*1. 声明类并定义使用方法
*2. 使用data中的type ref to 来表示引用的具体类
*3. 使用create object创建类实例对象
*4. 通过->或者=>运算符访问类对象或者组件,可定义方法名来实现对类方法的动态调用
*
*以下将会根据上面说的四步来实现类的实例

*声明类
CLASS callobj DEFINITION.

  PUBLIC SECTION.

    CLASS-DATA: para(30) VALUE 'This is a static parameter!'."定义静态变量

    DATA: count TYPE i."定义类的成员变量

    METHODS: showdata1,"定义方法

      showdata2.

    CLASS-METHODS: show_static_method.

  PRIVATE SECTION."定义私有成员

    METHODS: showdata3.

ENDCLASS.

*定义类的实现功能
CLASS callobj IMPLEMENTATION.

  METHOD showdata1."定义第一个方法的行为/功能

    WRITE: / 'hello sap'.

  ENDMETHOD.

  METHOD showdata2.

    count = 1.

    WRITE: / count.

    CALL METHOD showdata3."内部调用私有方法

  ENDMETHOD.

  METHOD showdata3.

    WRITE: / 'This is the private method!'.

  ENDMETHOD.

  METHOD show_static_method.

    WRITE: / 'THIS IS THE STATIC METHOD!'.

  ENDMETHOD.
ENDCLASS.


*声明引用类并创建实例对象,使用上面定义的方法/功能

DATA obj TYPE REF TO callobj."声明引用参照类的变量

DATA methodname TYPE string."定义方法名变量

 

START-OF-SELECTION.

  CREATE OBJECT obj."创建类实例对象

  methodname = 'SHOWDATA2'."为方法名变量赋值,注意:方法名要大写

  CALL METHOD: obj->showdata1."调用方法

  CALL METHOD: obj->(methodname)."通过方法名变量调用方法

  CALL METHOD: callobj=>show_static_method."类名调用静态方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值