类型池和为常量创建类有什么区别?什么更好?我的问题是对于一大群常量,以及其他组是否可以访问。
谢谢
编辑-谢谢你的回答,我会改进我的问题。我需要一些东西来存储常量,我会在程序或其他类中使用它们。基本上,我想知道使用类型池还是使用带有常量的类(仅(更好。我可以有多个类或类型池。
文档提到了这一点:
由于还可以在全局类的公共可见性部分定义数据类型和常量,因此类型组已过时,不应再创建。现有的类型组仍然可以使用。
一个具有所需常量的合理命名接口是可行的。另外一个好处是ABAP OO可以强制执行更多的规则。
同意@petul的回答,但有一个细节除外:我建议为每个常量逻辑组创建一个类似class的枚举,而不是在接口中收集常量。
考虑使用新的enum
语言功能来指定常数值。
接口可能会被意外地"实现",这在这里没有意义。类可以通过final
防止这种情况。
每个逻辑组创建一个类可以简化使用IDE功能(如ABAP开发工具中的Ctrl+Shift+A搜索(查找常量的过程。随机放入接口的常量以后很难找到
类允许添加类似枚举的辅助方法,如转换器、存在性检查和对所有值进行编号。
类还允许添加单元测试,例如确保常量集合仍然与基础域的固定值同步。