更改 attribute/getter/setter 在 abap persistent class 中的可见性
Change attribute/getter/setter visibility in abap persistent class
是否可以在不更改属性可见性的情况下更改属性 setter/getter 的可见性?
例如 Java 我可以说:
- 属性:私有
- setter: 受保护
- getter: public
如果我只想允许在私有范围内进行更改,这是非常实用的,在受保护范围内,我允许通过 setter(其中的一些检查和验证)进行更改,而在 public 范围内,您可以只读
在类构建器中,您只能一起更改它们。
是的,这是可能的。只需使用此按钮即可。
然后更改可见性
您可以在持久性映射中创建属性 public 并将其更改为只读 - 这将防止生成 setter。您可以在 class 构建器或持久性映射中更改属性可见性,这将同时影响 setter 和 getter。据我所知,没有其他方法可以影响可见性。为了更好地控制,我建议包装持久性 class - 要么在单独的 class 中,要么通过引入一个 public getter-only 接口,其方法遵循生成的getters.
是否可以在不更改属性可见性的情况下更改属性 setter/getter 的可见性?
例如 Java 我可以说:
- 属性:私有
- setter: 受保护
- getter: public
如果我只想允许在私有范围内进行更改,这是非常实用的,在受保护范围内,我允许通过 setter(其中的一些检查和验证)进行更改,而在 public 范围内,您可以只读
在类构建器中,您只能一起更改它们。
是的,这是可能的。只需使用此按钮即可。
然后更改可见性
您可以在持久性映射中创建属性 public 并将其更改为只读 - 这将防止生成 setter。您可以在 class 构建器或持久性映射中更改属性可见性,这将同时影响 setter 和 getter。据我所知,没有其他方法可以影响可见性。为了更好地控制,我建议包装持久性 class - 要么在单独的 class 中,要么通过引入一个 public getter-only 接口,其方法遵循生成的getters.