文章
· 八月 4, 2021 阅读大约需 2 分钟

方法关键字Deprecated,ExternalProcName,Final,ForceGenerate

第六十一章 方法关键字 - Deprecated

指定不推荐使用此方法。该关键字被类编译器忽略,只是提供了一个人类可读的指示符,表明该方法已被弃用。

用法

要指定不推荐使用此方法,请使用以下语法:

Method name(formal_spec) As returnclass [ Deprecated ]  
{    //implementation }

否则,省略此关键字或将单词Not放在关键字的前面。

第六十二章 方法关键字 - ExternalProcName

当此方法在外部数据库中用作存储过程时,指定其名称。仅当方法被投影为存储过程时适用。

若要在方法用作外部数据库中的存储过程时重写该方法的默认名称,请使用以下语法:

ClassMethod name(formal_spec) As returnclass [ SqlProc, ExternalProcName = MyProcedure ] 
{    //implementation }

其中MyProcedure是一个不带引号的字符串。

详解

当此方法在外部数据库中用作存储过程时,此关键字允许定义此方法的名称。

默认

如果省略此关键字,方法名将用作存储过程名

第六十三章 方法关键字 - Final

指定此方法是否为最终方法(不能在子类中重写)。

用法

要指定方法是最终的,请使用以下语法:

Method name(formal_spec) As returnclass [ Final ] 
{    //implementation }

否则,省略此关键字或将单词Not放在关键字的前面。

详解

标记为final的类成员不能在子类中被覆盖。

默认

如果省略此关键字,则该方法不是最终的。

第六十四章 方法关键字 - ForceGenerate

指定是否应该在每个子类中编译该方法。仅当方法是方法生成器时适用。

用法

要指定应该在每个子类中编译方法(方法生成器),请使用以下语法:

Method name(formal_spec) As returnclass [ CodeMode = ObjectGenerator, ForceGenerate ] 
{    //implementation }

否则,省略此关键字或将单词Not放在关键字的前面。

详解

在方法生成器方法的情况下,指定应该在每个子类中编译该方法。当需要确保每个子类都有自己的方法版本时,这个关键字非常有用。如果生成的代码看起来与超类生成的代码相同, IRIS不会重新编译子类中的方法。该逻辑不考虑两个类的包含文件是否相同。如果该方法使用了在包含文件中定义的宏,并且如果子类使用了不同的包含文件, IRIS不会在子类中重新编译该方法。在这种情况下,请为方法生成器指定ForceGenerate

默认

如果省略此关键字,则不会在每个子类中编译该方法。

讨论 (0)1
登录或注册以继续