單態物件

具有對應關係 1 且以 Singleton 模板標示的物件,在整個系統生命中只會有一次實例化。單態物件在 C 中實作為 struct 及函數。不過,單態內容不會在資料上施行。

單態物件在規格檔案中宣告為 struct。例如:

struct object_0_t {
    /* attributes of object_0 */
};

單態物件在實作檔案中實例化為套件物件,如下:

struct object_0_t object_0;

因為只能有一個單態實例,其作業不會將環境定義指標併入作為其第一個引數。 例如,單態物件 A,其作業 op1() 具有一個引數 a1,會產生下列函數原型:

/*## operation op1(int) */
void A_op1(int a1);

如果相同物件不是單態,則會產生下列函數原型:

/*## operation op1(int) */
void A_op1(struct A_t* const me, int a1);

意見回饋