zoukankan      html  css  js  c++  java
  • 函数方法

    REPORT  Z_FUNCTIONAL_METHOD.
    CLASS circle DEFINITION.
      PUBLIC SECTION.
        METHODs get_area IMPORTING VALUE(i_radiustype i             value指定参数传递形式默认是引用传递
                         RETURNING VALUE(r_sizeTYPE f.                         returning可以替代importing和exporting,这边替代的是exporting

      PRIVATE SECTION.
        CONSTANTS pi type VALUE '3.1415926'.
    endclass.

    CLASS circle IMPLEMENTATION.
      METHOD get_area.
        r_size i_radius ** * pi.
        ENDMETHOD.
      ENDCLASS.

      PARAMETERS radius TYPE i.
      DATA: o_circle TYPE REF TO circle,
            area TYPE f.

      START-OF-SELECTION.
      CREATE OBJECT o_circle.
      CALL METHOD o_circle->get_area
      EXPORTING i_radius radius
        RECEIVING r_size area.                      使用returning这边就应该用receiving关键字定义接受.
      WRITE: / area.
      area o_circle->get_arearadius ).          这种方法是函数方法,可以直接赋值,调用方法得到结果后直接赋给area变量
      WRITE: / area.

    第二次看:

    如果方法中定义了返回参数,可以这样调用
    
    INUMBS = o_vehicle->accelerate( NUMB = 1 ).
    numb是传入参数。
    INUMBS相当于返回参数,当然只返回一个参数的时候才可以这样使用。
    如果不是这样写的话就是原本的方式 如下:
    
      CALL METHOD o_vehicle->accelerate
        EXPORTING
          numb        = 1                   "传入值,可以是变量,如果是定义的时候关键字是Importing不是EXPORTING
        receiving                           
          rnumb       = INUMBS              "返回值,如果是方法定义的时候这边就是returning关键字而不是receiving 
        EXCEPTIONS
          MESSAGEERRO = 1
          others      = 2
              .
      IF sy-subrc <> 0.
       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
  • 相关阅读:
    MLlib--FPGrowth算法
    MLlib--SVD算法
    算法--访问单个节点的删除
    算法--环形链表插值
    算法--数组变树
    算法--滑动窗口
    RMAN备份失败之:mount: block device /dev/emcpowerc1 is write-protected, mounting read-only
    OPatch failed with error code 73
    Sybase ASE报错:server Error: 8242, Severity: 16, State: 1
    ORA-00257: archiver error. Connect internal only, until freed
  • 原文地址:https://www.cnblogs.com/caizjian/p/3237301.html
Copyright © 2011-2022 走看看