对象事件
编辑教程对象事件
事件是在类中定义的一组结果,用于触发其他类中的事件处理程序。 当事件被触发时,我们可以调用任何数量的事件处理程序方法。 触发器及其处理程序方法之间的链接实际上是在运行时动态决定的。
在正常的方法调用中,调用程序确定对象或类的哪个方法需要被调用。 由于固定处理程序方法未针对每个事件注册,因此在事件处理的情况下,处理程序方法确定需要触发的事件。
类的事件可以通过使用RAISE EVENT语句触发同一类的事件处理程序方法。 对于事件,可以通过使用FOR EVENT子句在相同或不同的类中定义事件处理程序方法,如以下语法中所示 -
FOR EVENT <event_name> OF <class_name>.
类似于类的方法,事件可以有参数接口,但它只有输出参数。 输出参数通过RAISE EVENT语句传递到事件处理程序方法,RAISE EVENT语句接收它们作为输入参数。 事件通过使用SET HANDLER语句在程序中动态链接到其处理程序方法。
当触发事件时,应该在所有处理类中执行适当的事件处理程序方法。
例子
REPORT ZEVENT1.
CLASS CL_main DEFINITION.
PUBLIC SECTION.
DATA: num1 TYPE I.
METHODS: PRO IMPORTING num2 TYPE I.
EVENTS: CUTOFF.
ENDCLASS.
CLASS CL_eventhandler DEFINITION.
PUBLIC SECTION.
METHODS: handling_CUTOFF FOR EVENT CUTOFF OF CL_main.
ENDCLASS.
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 ).
CLASS CL_main IMPLEMENTATION.
METHOD PRO.
num1 = num2.
IF num2 ≥ 2.
RAISE EVENT CUTOFF.
ENDIF.
ENDMETHOD.
ENDCLASS.
CLASS CL_eventhandler IMPLEMENTATION.
METHOD handling_CUTOFF.
WRITE: 'Handling the CutOff'.
WRITE: / 'Event has been processed'.
ENDMETHOD. ENDCLASS.
上面的代码产生以下输出
Handling the CutOff
Event has been processed
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟