Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改abap持久类中的属性/getter/setter可见性_Abap - Fatal编程技术网

更改abap持久类中的属性/getter/setter可见性

更改abap持久类中的属性/getter/setter可见性,abap,Abap,是否可以从属性更改setter/getter的可见性而不更改属性可见性? e、 g在Java中,我可以说: 属性:私有 设定器:受保护 获得者:公众 如果我只想允许在私有范围内更改,在受保护范围内我允许通过setter(其中有一些检查和验证)进行更改,而在公共范围内您只能读取,那么这是非常实用的 在类生成器中,您只能同时更改它们。是的,这是可能的。就用这个按钮吧 然后更改可见性 您可以在持久性映射中将属性设置为公共属性并将其更改为只读-这将防止生成setter。您可以在类生成器或持久性映射

是否可以从属性更改setter/getter的可见性而不更改属性可见性?

e、 g在Java中,我可以说:

  • 属性:私有
  • 设定器:受保护
  • 获得者:公众
如果我只想允许在私有范围内更改,在受保护范围内我允许通过setter(其中有一些检查和验证)进行更改,而在公共范围内您只能读取,那么这是非常实用的


在类生成器中,您只能同时更改它们。

是的,这是可能的。就用这个按钮吧

然后更改可见性


您可以在持久性映射中将属性设置为公共属性并将其更改为只读-这将防止生成setter。您可以在类生成器或持久性映射中更改属性可见性,这将同时影响setter和getter。据我所知,没有其他方法可以影响能见度。为了更好地控制,我建议将持久性类包装在一个单独的类中,或者通过引入一个只使用getter的公共接口,该接口的方法遵从生成的getter。

这是一个坏主意:持久性映射中的任何更改都将触发重新生成getter和setter,并且此更改将被还原。其他事件可能也会触发这种再生。问题不在于这是一个好主意还是坏主意,而是如何实现它,但无论如何,我感谢你的评论。