更改 attribute/getter/setter 在 abap persistent class 中的可见性

Change attribute/getter/setter visibility in abap persistent class

是否可以在不更改属性可见性的情况下更改属性 setter/getter 的可见性?

例如 Java 我可以说:

如果我只想允许在私有范围内进行更改,这是非常实用的,在受保护范围内,我允许通过 setter(其中的一些检查和验证)进行更改,而在 public 范围内,您可以只读

在类构建器中,您只能一起更改它们。

是的,这是可能的。只需使用此按钮即可。

然后更改可见性

您可以在持久性映射中创建属性 public 并将其更改为只读 - 这将防止生成 setter。您可以在 class 构建器或持久性映射中更改属性可见性,这将同时影响 setter 和 getter。据我所知,没有其他方法可以影响可见性。为了更好地控制,我建议包装持久性 class - 要么在单独的 class 中,要么通过引入一个 public getter-only 接口,其方法遵循生成的getters.