如何在继承的父方法中调用子方法?

2020-09-08 03:28发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

上下文:我们正在使用SICF服务来处理REST Web服务。 我们有一个使用接口" IF_HTTP_EXTENSION"和" IF_REST_APPLICATION"(方法HANDLE_REQUEST)的主类,以及继承我们的主类的子类。

在SICF"列表处理程序"选项卡中,我们设置子类(ZCL_ _SERVICE)

" HANDLE_REQUEST"方法是从所有子类的MASTER类继承的,没有重新定义(不需要)。

问题:因此,当我执行时,我处于CHILD实例中,正在处理MASTER方法(继承)。 我们希望在MASTER方法中从CHILD实例中调用PRIVATE方法。 但是我不知道怎么...

现在我已经做到了:

//我们处于CHILLD CLASS中,但正在处理MASTER CLASS的继承方法
 DATA lo_action_class TYPE REF TO对象。

 创建对象lo_action_class类型(s_process-class)。  "必须是ZCL_ 的子类
 lo_action_class?=我。
 调用方法lo_action_class->(s_process-method)。

问题是我在"((S_PROCESS-METHOD)""中的方法必须是PUBLIC,否则"调用方法"会引发异常。 我不希望公开此方法。...有办法做到这一点吗?

希望我很清楚...

最好的问候

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

上下文:我们正在使用SICF服务来处理REST Web服务。 我们有一个使用接口" IF_HTTP_EXTENSION"和" IF_REST_APPLICATION"(方法HANDLE_REQUEST)的主类,以及继承我们的主类的子类。

在SICF"列表处理程序"选项卡中,我们设置子类(ZCL_ _SERVICE)

" HANDLE_REQUEST"方法是从所有子类的MASTER类继承的,没有重新定义(不需要)。

问题:因此,当我执行时,我处于CHILD实例中,正在处理MASTER方法(继承)。 我们希望在MASTER方法中从CHILD实例中调用PRIVATE方法。 但是我不知道怎么...

现在我已经做到了:

//我们处于CHILLD CLASS中,但正在处理MASTER CLASS的继承方法
 DATA lo_action_class TYPE REF TO对象。

 创建对象lo_action_class类型(s_process-class)。  "必须是ZCL_ 的子类
 lo_action_class?=我。
 调用方法lo_action_class->(s_process-method)。

问题是我在"((S_PROCESS-METHOD)""中的方法必须是PUBLIC,否则"调用方法"会引发异常。 我不希望公开此方法。...有办法做到这一点吗?

希望我很清楚...

最好的问候

付费偷看设置
发送
4条回答
SAP砖家
1楼 · 2020-09-08 04:06.采纳回答

将"大师班"作为"子班"的朋友,它应该可以正常工作。

派大星 ヾ
2楼-- · 2020-09-08 03:56

不确定要了解您的实际情况。 如果要从超类SUPER的方法SUPERMETH中调用子类SUB的私有方法SUBMETH,则必须同时定义" CLASS super DEFINITION FRIENDS sub",在SUPERMETH中,您应执行" me->('SUBMETH')" (由于SUPER类中未知,因此无法静态输入SUBMETH。)

Climb_Ma
3楼-- · 2020-09-08 03:54

感谢Sandra。

在阅读了有关"朋友班"的一些文章之后,似乎可以胜任这项工作!

我认为我只需要在CHILD类上声明我的MASTER类是朋友。

编辑:我读过的第一篇文章说使用Friend类是由于概念问题':)

无论我怎么尝试。

再次感谢

黑丝骑士
4楼-- · 2020-09-08 04:03

你好拉米兹,

非常感谢您抽出宝贵的时间,我会尝试一下,如果可以的话,请在这里回复!

祝你有美好的一天

编辑:忘了说没关系!

一周热门 更多>