Class ABAP调用方法';静态';和';动态';
我对ABAP中术语“静态”和“动态”w.r.t.调用方法的含义有点困惑 一方面,static指的是一个类的组件,它可以在没有实例的情况下访问。动态是指在运行时通过字段内容进行访问 所以,Class ABAP调用方法';静态';和';动态';,class,abap,Class,Abap,我对ABAP中术语“静态”和“动态”w.r.t.调用方法的含义有点困惑 一方面,static指的是一个类的组件,它可以在没有实例的情况下访问。动态是指在运行时通过字段内容进行访问 所以,(class)=>(meth)将是对静态方法的动态调用 那么什么是反项呢 is:(meth\u name)meth\u name需要一个类似字符的字段,该字段在执行语句时必须包含方法的名称。因此,oref->meth是一个 可以使用名称class=>comp访问类的comp。在这里,组件可以是方法 静态有两种含
(class)=>(meth)
将是对静态方法的动态调用
那么什么是反项呢
- is:
meth\u name需要一个类似字符的字段,该字段在执行语句时必须包含方法的名称。因此,(meth\u name)
是一个oref->meth
- 可以使用名称
访问类的comp。在这里,组件可以是方法class=>comp
- 静态有两种含义:
类的方法(和属性)可以是
静态
或实例
。在后一种情况下,类的实例必须存在,才能调用类的实例方法或访问和实例属性。语法不同:
调用实例方法:oref->method
调用静态方法:class=>method
与属性类似:
静态:class=>attribute
实例:oref->attribute
另一方面,方法的调用可以是静态
或动态
方法的静态调用:
oref->method
(1)(或class=>method
(2))
方法的动态调用:oref->(方法)
(3)(或class=>(方法)
(4))
确切地说:
(1) 实例方法的静态调用
(2) 静态方法的静态调用
(3) Instance方法的动态调用
(4) 静态方法的动态调用我认为您理解得很好;我不会使用术语“静态方法调用”,因为它是不明确的;这是一个静态方法调用,还是一个静态方法调用:)(这是一个备注,不是一个问题);如果您对语义学感兴趣,并且想让静态与动态的讨论变得复杂,那么什么是a与a,什么是“静态数据对象”?:)有一个简单的语义区别:方法的静态调用和静态方法。很简单。我就是这么想的,谢谢。不幸的是,当ABAP非专家使用不精确的语言时,术语重载很容易出错