原语操作

除了 IBM® Rational® Rhapsody® 自动生成的操作之外,您还可以为对象定义自己的操作。每个操作具有名称和返回类型,并且可能包含自变量。用户定义的操作在 Rational Rhapsody 中称作原语操作

对象操作(相对于函数或全局操作)会映射到具有相同返回类型的 C 函数。为操作生成的第一个自变量是指向该操作所操作的特定对象的指针。me 指针之后的是模型中所指定的操作自变量的原始列表。

例如,以下原型是为对象类型 B 的名称为 print() 的操作而生成的:

void B_print(B* const me);

函数原型在 B 的规范文件中生成。唯一的自变量是指向类型 B 的称作 me 的对象的指针。

请在模型中 Bprint() 操作的实施中输入以下行:

char *str;
str = "This is B";
printf("%s\n", str);

以下行会添加到实施文件中 print() 的主体中:

void B_print(B* const me) {
    NOTIFY_OPERATION(me, NULL, B, print, print(), 0,
        print_SERIALIZE);
    {
        /*#[ operation print() */
        char *str;
        str = "This is B";
        printf("%s\n", str);
        /*#]*/
    }
}

您可以手动编辑 /*#[/*#] 符号之间的操作。通过选择代码 > 双向 > <configuration name>将您的更改返回到模型中。

如果已启用动画并且操作没有需要创建动画的自变量,那么会为操作(例如,print_SERIALIZE)生成 SERIALIZE 宏。SERIALIZE 宏用于在检测期间显示操作。不会为直接插入操作生成 SERIALIZE 宏。


反馈