云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

免备案CDN_惠州网站建设网站_免费领

小七 141 0

这是一种常见的模式。一个数据对象,比如说一个类的属性,应该只假设给定集合中的值。在7.51版本之前,shirt类的size属性应该只有在类中定义为一组常量的值。其他值会导致异常。用户可以按如下方式创建shirt类的对象:

看到开销了吗?为什么不让运行时环境为您进行值检查呢?有一个概念称为枚举或枚举类型。

在7.51版本中,大数据前景如何,ABAP也将支持枚举的概念。让我们用这样一个新的枚举类型重写这个示例:

TYPES语句的一个新变体BEGIN of ENUM–END of ENUM,用作一组常量的括号。常量的标准基类型是i,枚举值从0开始计数。

用法看起来和以前一样:

但是,嘿,大数据的前景,不再需要异常处理了。如果你试图传递一个非法值,你会得到一个语法错误!

枚举是类型和常量的混合。通过BEGIN OF ENUM ENUM–END OF ENUM ENUM,可以声明一个基本类型ENUM,可以在类型加法后面使用。在这两者之间,您声明一组常量,即所谓的枚举常量,这些常量定义了类型为enum的枚举对象所允许的枚举值。在这个位置上,类型实际上是常量语句。

ABAP运行时环境会注意,只有允许的枚举值才能分配给枚举对象:

只能将枚举对象分配给同一枚举类型的枚举对象,只能将枚举对象与同一枚举类型的枚举对象进行比较。当然,这包括枚举常量本身。

通常,您对枚举对象的内容根本不感兴趣。枚举对象的语义由定义其值的枚举常量定义。不过,您可以使用除i以外的其他基类型和其他枚举值(其中一个值必须是初始值)定义枚举类型:

这使您能够轻松地将现有的"枚举值"转换为新概念。如果幸运的话,您可能不需要调整它们的用法(事实上,我可以为我的一个类这样做)。

如果您在一个上下文中有多个枚举类型,您可能希望在结构中组织相应的枚举值:

这样,大数据的培训,您就声明了一个常量枚举结构大小。结构的组件是枚举类型的枚举常量。

枚举对象的主要用法是将它们与各自的枚举常量进行比较,以便分支到相应的功能。

此外,还有一些其他允许的用法:

您可以将枚举对象分配给类型c或字符串类型的文本字符串。结果是定义当前值的枚举常量的名称。

您也可以写入

您可以通过指定基类型使用CONV运算符访问当前值。

另一种方法,有效的枚举值可以转换为枚举对象(这在普通赋值中是不可能的):

RTTI中还有一个新的类CL\u ABAP\u ENUMDESCR.

基本上就是这样。

向后靠,让ABAP运行时环境为您完成工作。它注意枚举对象只能在适当的操作数位置使用,网购返利,并且只能包含其指定的值。枚举对象中不应出现非法的枚举值(好的,有一个已知的间隙…)。

,中国云