Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *&---------------------------------------------------------------------*
- *& Report ZMENG_EVENTS
- *&---------------------------------------------------------------------*
- *&事件是在类中定义的一组结果,用于触发其他类中的事件处理程序。
- *&当事件被触发时,我们可以调用任何数量的事件处理程序方法。
- *&触发器及其处理程序方法之间的链接实际上是在运行时动态决定的。
- *&在正常的方法调用中,调用程序确定对象或类的哪个方法需要被调用。
- *&由于固定处理程序方法未针对每个事件注册,
- *&因此在事件处理的情况下,处理程序方法确定需要触发的事件。
- *&类的事件可以通过使用RAISE EVENT语句触发同一类的事件处理程序方法。
- *&对于事件,可以通过使用FOR EVENT子句在相同或不同的类中定义事件处理程序方法。
- *&类似于类的方法,事件可以有参数接口,但它只有输出参数。
- *&输出参数通过RAISE EVENT语句传递到事件处理程序方法,
- *&RAISE EVENT语句接收它们作为输入参数。
- *&事件通过使用SET HANDLER语句在程序中动态链接到其处理程序方法。
- *&当触发事件时,应该在所有处理类中执行适当的事件处理程序方法。
- *&---------------------------------------------------------------------*
- REPORT zmeng_11_events.
- *&---------------------------------------------------------------------*
- * cl_main
- *&---------------------------------------------------------------------*
- CLASS cl_main DEFINITION.
- PUBLIC SECTION.
- DATA: num1 TYPE i.
- METHODS: pro IMPORTING num2 TYPE i.
- EVENTS: cutoff.
- ENDCLASS.
- CLASS cl_main IMPLEMENTATION.
- METHOD pro.
- num1 = num2.
- IF num2 >= 2.
- RAISE EVENT cutoff.
- ENDIF.
- ENDMETHOD.
- ENDCLASS.
- *&---------------------------------------------------------------------*
- * cl_eventHandler
- *&---------------------------------------------------------------------*
- CLASS cl_eventhandler DEFINITION.
- PUBLIC SECTION.
- METHODS: handling_cutoff FOR EVENT cutoff OF cl_main.
- ENDCLASS.
- CLASS cl_eventhandler IMPLEMENTATION.
- METHOD handling_cutoff.
- WRITE: / 'Handling the CutOff'.
- WRITE: / 'Event has been processed'.
- ENDMETHOD.
- ENDCLASS.
- *&---------------------------------------------------------------------*
- * Start of selection
- *&---------------------------------------------------------------------*
- START-OF-SELECTION.
- DATA: main1 TYPE REF TO cl_main.
- DATA: eventhandler1 TYPE REF TO cl_eventhandler.
- CREATE OBJECT main1.
- CREATE OBJECT eventhandler1.
- SET HANDLER eventhandler1->handling_cutoff FOR main1.
- main1->pro( 4 ).
- "Output result
- *Handling the CutOff
- *Event has been processed
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement