打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
OO 的测试
>属性
->方法

class lcl_product definition.

  public section.

    events: pricechanged.

    methods:

    raise_event.  " 

  private section.

    data: price type i.

endclass. "lcl_product DEFINITION

*----------------------------------------------------------------------*
*       CLASS lcl_product IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
class lcl_product implementation.

  method raise_event.

    write: / '------------------------------------'.

    write: / 'Before event trrigger'.

    raise event pricechanged.  " 

    write: / 'After event trrigger'.

    write: / '------------------------------------'.

  endmethod. "raise_event

endclass. "lcl_product IMPLEMENTATION


*----------------------------------------------------------------

* CLASS lcl_customer

*----------------------------------------------------------------

class lcl_customer definition.

  public section.

    methods:

    handle_price_changed for event pricechanged of lcl_product

    importing sender.

endclass. "lcl_customer DEFINITION

*----------------------------------------------------------------------*
*       CLASS lcl_customer IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
class lcl_customer implementation.

  method handle_price_changed.

    write: / ' Customer handle changed price'.

  endmethod. "handle_price_changed

endclass. "lcl_customer IMPLEMENTATION

*----------------------------------------------------------------

* CLASS lcl_logger

*----------------------------------------------------------------

class lcl_logger definition.

  public section.

    methods:

    handle_price_changed for event pricechanged of lcl_product

    importing sender.

endclass. "lcl_logger DEFINITION

*----------------------------------------------------------------------*
*       CLASS lcl_logger IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
class lcl_logger implementation.

  method handle_price_changed.

    write: / ' Logger log changed price'.

  endmethod. "handle_price_changed

endclass. "lcl_logger IMPLEMENTATION


* Create object instances
start-of-selection.
  data:grf_product type ref to lcl_product,
       grf_customer type ref to lcl_customer,
       grf_logger type ref to lcl_logger.

  create object grf_product.

  create object grf_customer.

  create object grf_logger.

* Register event

  set handler grf_customer->handle_price_changed for grf_product.

  set handler grf_logger->handle_price_changed for grf_product.

* Trigger event

  grf_product->raise_event( ).

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
ABAP面向对象之抽象工厂模式(Abstract Factory Pattern)
CLASS-METHODS 
ABAP面向对象总结
RED5学习笔记(二):RED5项目配置
logback-Filter机制
C# delegate & event
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服