예를 들어, Valve 오브젝트 유형의 isClosed 속성은 Valve 구조 내에서 값에 의해 데이터 멤버로 임베드됩니다.
struct Valve {
/*** User explicit entries ***/
RiCBoolean isClosed; /*## attribute isClosed ##*/
};
RiCBoolean 유형은 C의 OMBoolean과 동일합니다. OMBoolean은 IBM® Rational® Rhapsody® Developer for C++ 프레임워크에 정의된 부울 데이터 유형입니다.
액세서 오퍼레이션은 사용자가 데이터에 액세스할 수 있도록 하는 반면, 뮤테이터 오퍼레이션은 사용자가 데이터를 수정할 수 있도록 합니다. C_CG::Attribute::AccessorGenerate 특성이 선택으로 설정되는 경우 액세서가 생성됩니다. 마찬가지로, 뮤테이터는 C_CG::Attribute::MutatorGenerate 특성이 Always로 설정된 경우에 생성됩니다. 기본 AccessorGenerate는 선택 취소입니다. 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;
}
Rational Rhapsody는 다음 순서로 속성을 생성합니다.