例如,Valve 对象类型的 isClosed 特性的值作为数据成员嵌入在 Valve 结构内:
struct Valve {
/*** User explicit entries ***/
RiCBoolean isClosed; /*## attribute isClosed ##*/
};
RiCBoolean 类型在 C 中等同于 OMBoolean,是 IBM® Rational® Rhapsody® Developer for C++ 框架中定义的一种布尔数据类型。
访问器操作使您能够访问数据,而增变器操作使您能够修改数据。如果 C_CG::Attribute::AccessorGenerate 属性设置为 Checked,则会生成访问器。类似的,如果 C_CG::Attribute::MutatorGenerate 属性设置为 Always,则会生成增变器。AccessorGenerate 的缺省值为 Cleared。MutatorGenerate 的缺省值为 Never。
访问器和增变器操作在对象类型的规范文件的用户隐式条目区域中生成。例如,_getIsClosed() 访问器操作和 _setIsClosed() 增变器操作的原型是为 Valve.h 文件中的 isClosed 特性而生成的:
/*** User implicit entries ***/
RiCBoolean Valve _getIsClosed(const Valve* const me);
void Valve _setIsClosed(Valve* const me, RiCBoolean
p_isClosed);
访问器和增变器操作的主体在对象类型的实施文件中生成。例如,以下实施是为 Valve.c 文件中的 _getIsClosed() 和 _setIsClosed() 操作而生成的:
/*** Methods implementation ***/
RiCBoolean Valve_getIsClosed(const Valve* const me) {
return me->isClosed;
}
void Valve _setIsClosed(Valve* const me, RiCBoolean
p_isClosed) {
me->isClosed = p_isClosed;
}