abap 类 方法定义 报错一例

REPORT z_method_redefinition.  " 188

CLASS vehicle DEFINITION INHERITING FROM OBJECT.
  PUBLIC SECTION.
    METHODS:accelerate,write_status.
  PROTECTED SECTION.
  DATA speed TYPE i.
 ENDCLASS.

 CLASS plane DEFINITION INHERITING FROM vehicle.
   PUBLIC SECTION.
    METHODS:rise,write_status REDEFINITION.  " 这里是 METHODS ,否则报错"不能在 "CLASS ... DEFINITION" 和 "ENDCLASS" 之间使用当前语句。"ENDCLASS".
      PROTECTED SECTION.
      DATA altitude TYPE i.
 ENDCLASS.

 CLASS ship DEFINITION INHERITING FROM vehicle.
   PUBLIC SECTION.
    METHODS write_status REDEFINITION.    " 这里是 METHODS ,否则报错 "不能在 "CLASS ... DEFINITION" 和 "ENDCLASS" 之间使用当前语句。"ENDCLASS".
 ENDCLASS.

 CLASS vehicle IMPLEMENTATION.
   METHOD accelerate.
     speed = speed + 1.
    ENDMETHOD.
    METHOD write_status.
      WRITE: / 'SPEED:' , speed.
      ENDMETHOD.
ENDCLASS.

CLASS plane IMPLEMENTATION.
  METHOD rise.
    altitude = altitude + 1.
    ENDMETHOD.
    METHOD write_status.
      WRITE / 'plane:'.
      CALL METHOD super->write_status.
      WRITE: / 'Altitude:',altitude.
      ENDMETHOD.
    ENDCLASS.

CLASS ship IMPLEMENTATION .
  METHOD write_status.
    WRITE: / 'Ship speed :',speed.
    ENDMETHOD.
ENDCLASS.

DATA :plane_ref TYPE REF TO plane,
      ship_ref type REF TO ship.
START-OF-SELECTION.
CREATE OBJECT : plane_ref,ship_ref.
CALL METHOD:plane_ref->accelerate,
plane_ref->rise,
plane_ref->write_status,
ship_ref->accelerate,
ship_ref->write_status.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值