是否有可能在ABAP中违反反射封装?

时间:2013-02-23 07:36:13

标签: oop reflection encapsulation abap

是否可以:

  • 读取/修改私有成员变量的内容?
  • 调用私有方法?

..来自这些不在范围内的背景?

不打算做这样的架构,我只是想知道它是否可能。

2 个答案:

答案 0 :(得分:2)

ABAP是一种解释性语言。因此,口译员随时都知道任何事情。即使使用反射(RTTI / RTTC)和/或动态调用,您也无法访问超出范围的私有成员。

但是,如果您已经宣布了朋友,那么朋友们当然可以访问私人会员。

答案 1 :(得分:1)

由于调试器是用ABAP编写的,并且调试器可以显示私有成员的内容,前者是可能的(如果不容易的话 - 你必须做一些真正有风险的低级别的东西,我不建议出于显而易见的原因) 。对于调用私有方法,我不确定,但我怀疑它是否可能。