CLASS EVENT

*&---------------------------------------------------------------------*
*& Report ZTCXHTEST_COUNT_EVENT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZTCXHTEST_COUNT_EVENT.
*----------------------------------------------------------------------*
* CLASS vehicle DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS vehicle DEFINITION INHERITING FROM object.
PUBLIC SECTION.
EVENTS too_fast.
METHODS: show_speed, accelerate.
PROTECTED SECTION.
DATA speed TYPE i.
ENDCLASS. "vehicle DEFINITION

*----------------------------------------------------------------------*
* CLASS vehicle IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS vehicle IMPLEMENTATION.
METHOD accelerate.
speed = speed + 1.
IF speed > 5.
RAISE EVENT too_fast.
speed = 5.
ENDIF.
ENDMETHOD. "accelerate
METHOD show_speed.
WRITE: / 'speed', speed.
ENDMETHOD. "show_speed
ENDCLASS. "vehicle IMPLEMENTATION

*----------------------------------------------------------------------*
* CLASS handler DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS handler DEFINITION.
PUBLIC SECTION.
METHODS handle_event FOR EVENT too_fast OF vehicle.
ENDCLASS. "handler DEFINITION

*----------------------------------------------------------------------*
* CLASS handler IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS handler IMPLEMENTATION.
METHOD handle_event.
WRITE: / 'speed can not too fast.'.
"speed = 10.
ENDMETHOD. "handle_event
ENDCLASS. "handler IMPLEMENTATION

DATA: vehical_ref TYPE REF TO vehicle,
handler_ref TYPE REF TO handler.

START-OF-SELECTION.
CREATE OBJECT: vehical_ref,handler_ref.
SET HANDLER handler_ref->handle_event FOR ALL INSTANCES.
DO 11 TIMES.
CALL METHOD: vehical_ref->accelerate,
vehical_ref->show_speed.
ENDDO.

[img]http://dl.iteye.com/upload/attachment/424726/c6403c08-3d5a-3a51-bbe6-a6ea6c3c3a82.gif[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值