2020-08-23 07:47发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们如何在OO ABAP中使用单... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们如何在OO ABAP中使用单例,请提供一个完美的例子。 那将是很大的帮助
Singleton本质上是一个静态实例创建,这意味着当您请求对象的实例创建时,在同一LUW中,SAP始终会向您提出相同的实例。
您需要指定实例的创建是私有的,否则,有人将使用语句NEW zcl_temp_singleton_001()。
->我们指定CREATE PRIVATE
您需要一个静态方法来创建实例。
->静态方法不是用METHODS来描述的,而是用 CLASS-METHODS
您需要一个包含已创建实例的静态变量。
->类似方法,您必须使用CLASS-DATA
全部。
示例:
CLASS zcl_temp_singleton_001定义 上市 最后 创建私有。 公共部分。 类别方法get_instance 正在返回 VALUE(ro_instance)类型参考zcl_temp_singleton_001。 方法set_data 输入 iv_valeur TYPE字符串。 方法get_data 正在返回 VALUE(rv_valeur)TYPE字符串。 专用部分。 CLASS-DATA go_instance类型引用到zcl_temp_singleton_001。 DATA gv_valeur TYPE字符串。 ENDCLASS。 类别ZCL_TEMP_SINGLETON_001实施。 方法get_data。 rv_valeur = gv_valeur。 终结法。 方法get_instance。 ro_instance = COND#(当go_instance被绑定时 然后go_instance ELSE NEW zcl_temp_singleton_001())。 go_instance = ro_instance。 终结法。 方法set_data。 gv_valeur = iv_valeur。 终结法。 ENDCLASS。
如何使用此代码的示例:
REPORT ztest_fred_003。 参数p_valeur TYPE字符串。 DATA(mon_singleton)= zcl_temp_singleton_001 => get_instance()。 mon_singleton-> set_data(p_valeur)。 在程序ztest_fred_003b中执行p_display_parameter。
报告ztest_fred_003b。 FORM p_display_parameter。 DATA(mon_singleton)= zcl_temp_singleton_001 => get_instance()。 写入/1 mon_singleton-> get_data()。 ENDFORM。
最多设置5个标签!
Singleton本质上是一个静态实例创建,这意味着当您请求对象的实例创建时,在同一LUW中,SAP始终会向您提出相同的实例。
您需要指定实例的创建是私有的,否则,有人将使用语句NEW zcl_temp_singleton_001()。
->我们指定CREATE PRIVATE
您需要一个静态方法来创建实例。
->静态方法不是用METHODS来描述的,而是用 CLASS-METHODS
您需要一个包含已创建实例的静态变量。
->类似方法,您必须使用CLASS-DATA
全部。
示例:
如何使用此代码的示例:
一周热门 更多>