類在ABAP程序中的使用


*----------------------------------------------------------------------*
*       CLASS callobj DEFINITION 創建類
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS callobj DEFINITION.
  PUBLIC SECTION."定義公共類成員
    CLASS-DATA:para(30TYPE VALUE 'The static class parameter!'."定義靜態變量
    DATA count TYPE i."定義該類中公用全局變量
    METHODS:showdata1,
            showdata2.

  PRIVATE SECTION."定義該類中私有成員,所定義變量或方法只能在該類內部使用
    METHODS:showdata3.
ENDCLASS.                    "callobj DEFINITION

*----------------------------------------------------------------------*
*       CLASS callobj IMPLEMENTATION  定義類方法實現行為
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS callobj IMPLEMENTATION.
  METHOD showdata1.
    WRITE:'Hello SAP!'.
  ENDMETHOD.                                                "showdata1

  METHOD showdata2.
    count 1.
    WRITE count.
    CALL METHOD showdata3"在類內部調用私有方法
  ENDMETHOD.                                                "showdata2

  METHOD showdata3.
    WRITE: / 'The Private Method!'.
  ENDMETHOD.                                                "showdata3
ENDCLASS.                    "callobj IMPLEMENTATION

*----------------------------------------------------------------------*
*       CLASS callobj2 DEFINITION  定義第二個類,其成員對象為一靜態方法
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS callobj2 DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS:call_static_class.
ENDCLASS.                    "callobj2 DEFINITION

*----------------------------------------------------------------------*
*       CLASS callobj2 IMPLEMENTATION  定義第二個類方法
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS callobj2 IMPLEMENTATION.
  METHOD call_static_class.
    WRITE:/ callobj=>para."直接飲用其他類中的靜態變量
  ENDMETHOD.                    "call_static_class
ENDCLASS.                    "callobj2 IMPLEMENTATION

DATA obj TYPE REF TO callobj."引用參照類聲明變量
DATA:methname TYPE string."定義方法名變量

START-OF-SELECTION.
  CREATE OBJECT obj."創建類實例化對象
  methname 'SHOWDATA2'."為變量賦值方法名
  CALL METHOD:obj->showdata1,"調用類方法
              obj->(methname)."通過變量調用類方法

  CALL METHOD:callobj2=>call_static_class."無需實例化類對象,直接引用靜態方法
*********CALL METHOD:obj->showdata3."類的私有方法不允許外部調用
*********若使用該語句,系統將報錯:You cannot access private method 'SHOWDATA3'.not allowed


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM