我对术语“静态”和“动态”的含义有些困惑。在ABAP中调用方法。
一方面,静态是指无需实例即可访问的类的组件。动态是指在运行时通过字段的内容进行访问。
那么(class)=>(meth)
是对静态方法的动态调用吗?
那么逆项是什么?
one meaning of dynamic是:(meth_name)
meth_name期望一个类似字符的字段,该字段必须在执行语句时包含方法的名称。因此,oref->meth
是static method call
可以使用名称class=>comp
访问类的static component组合。在这里,组件可以是方法
答案 0 :(得分:6)
静态有两个含义:
类的方法(和属性)为static
或instance
。在后一种情况下,必须存在该类的实例,以便能够调用该类的实例方法或访问和实例属性。语法不同:
调用实例方法:oref->method
调用静态方法:class=>method
类似于属性:
静态:class=>attribute
实例:oref->attribute
另一方面,方法的调用可以是static
或dynamic
。
方法的静态调用:
oref->method
(1)(或class=>method
(2))
动态调用方法:oref->(method)
(3)(或class=>(method)
(4))
确切地说:
(1)静态调用实例方法
(2)静态调用静态方法
(3)动态调用instace方法
(4)动态调用静态方法