8.3.6 Let表达式

本小节定义Let表达式的抽象语法元模型。如图8.8所示,抽象语法中唯一增加的是元类LetExp。其它元类都是复用的其它图的。

注意:OCL 2.0已经不允许带有参数的Let表达式。该特征是冗余的。相反,建模者可以在UML分类符中定义额外的操作,可以使用泛型来指示该操作的目的是用做OCL表达式中的助手操作。然后这样的一个额外操作的后置条件可以定义它的结果值。因此Let函数的移除并不影响表达能力。另一种定义类似助手操作的方法是通过«definition»约束,它复用了一些定义在Let表达式的具体语法,但不如用基于OCL的语法来定义助手属性和操作。

图8.8 Let表达式的抽象语法元模型

LetExp

LetExp是一个使用一个初始值定义一个新变量的特殊表达式。由LetExp定义的变量不能改变它的值。它的值总是初始化表达式所计算的值。该变量在in表达式中可见。

关联 说明
variable Let表达式引入的变量
in 所定义的变量的可见OclExpression环境

results matching ""

    No results matching ""