为什么在类的每个可见性部分都允许使用别名?

2020-09-08 22:33发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我们知道,接口...

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

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


专家您好,

我们知道,接口只能在类的公共部分中实现,但为什么在类的任何可见性部分中允许使用别名。 有什么具体目的吗? 检查以下样品。 在此代码中,由于在私有部分中声明了m1,因此在代码的最后一行出错。

 SPAN {
 字体家族:" Courier New";
 字体大小:10pt;
 颜色:#000000;
 背景:#FFFFFF;
 }
 .L0S52 {
 颜色:#0000FF;
 }
 .L0S55 {
 颜色:#800080;
 }
 .L0S70 {
 颜色:#808080;
 }

 接口1。
   方法:m1。
 结束界面。


 CLASS ICL定义。
   公共部分。
     接口1。
    专用部分。
     别名m1为if1〜m1。
 ENDCLASS。

 CLASS ICL实施。
   方法m1。
   终结法。
 ENDCLASS。

 选择开始。
   数据:lo类型参考文件。
   创建对象lo。
   lo-> if1〜m1()。  "没有语法错误
   lo-> m1()。  "语法错误
2条回答
大简至美
2020-09-08 22:59

通常,直接从实现类的实例调用接口方法似乎有点困难。 这意味着您正在对REF lcl使用实例变量类型,这通常是不正确的。 您应该使用:

数据:lo TYPE REF TO LIF。
   创建对象lo类型lcl。
   lo-> m1()。  

不过,在一个类中,您可能需要节省一些键入内容,因此请使用私有别名。

在我看来,使用私有别名比使用公共别名更合理。

唯一的例外是从类中提取接口时 ,并且您不需要更改所有使用该类的程序现在就可以通过接口进行操作。

一周热门 更多>