我对ABAP中术语'静态'和'动态'wrt CALL方法的含义有点困惑.
一方面,static指的是可以在没有实例的情况下访问的类的组件.动态是指在运行时通过字段内容进行访问.
那么,(class)=>(meth)是静态方法的动态调用吗?!
那么反过来的术语是什么?
dynamic的一个含义是:(meth_name)meth_name需要一个类似字符的字段,该字段在执行语句时必须包含方法的名称.因此,oref->meth是静态方法调用
一个静态组件类的补偿可以使用名称进行访问class=>comp.这里,组件可以是一种方法
静态有两个含义:类的方法(和属性)是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)静态方法的动态调用