例如,Valve 物件類型的 isClosed 屬性會由值內嵌作為 Valve 結構內的資料成員:
struct Valve {
/*** User explicit entries ***/
RiCBoolean isClosed; /*## attribute isClosed ##*/
};
RiCBoolean 類型是 OMBoolean 的 C 對等項目,而布林資料類型定義於 IBM® Rational® Rhapsody® Developer for C++ 架構中。
存取元作業讓您可以存取資料,而轉換元作業讓您可以修改資料。 當 C_CG::Attribute::AccessorGenerate 內容設定為 Checked 時會產生存取元。同樣地,當 C_CG::Attribute::MutatorGenerate 內容設定為 Always 時會產生轉換元。AccessorGenerate 預設值是 Cleared。 MutatorGenerate 預設值是 Never。
在規格檔案的使用者隱含區域中,會針對物件類型產生存取元與轉換元作業。例如,在 Valve.h 檔案中,針對 isClosed 屬性產生 _getIsClosed() 存取元作業及 _setIsClosed() 轉換元作業的原型。
/*** 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;
}