隱含類型的物件

隱含類型的物件是簡易物件,不能重複使用來定義其他物件。隱含類型有助於實例基本建模,這與純正的物件導向建模不同。物件導向建模需要每個結構實體是現有類型的實例。這個需要的結構在物件導向系統稱為類型/實例二分法。

針對隱含類型的物件,會產生包含物件名稱及字尾 "_t" 的 C 結構。 未定義該物件的類型。例如,在隱含類型物件 A 的規格檔案中,產生名為 A_t 的 C 結構。這個物件有個名為 att1 的屬性,是產生作為結構的資料成員,如下所示:

struct A_t {
    /***    User-explicit entries    ***/
    int att1;      /*## attribute att1 */
};

在物件所屬的套件規格檔案中,實例化物件並配置記憶體。 例如,在物件 A 所屬的 Default 套件規格檔案中,產生下列陳述式:

struct A_t;
extern struct A_t A;

第一個陳述式是結構 A_t 的宣告;第二個陳述式是 struct A_t 之實例 A 的實際定義及記憶體配置。

註: extern 關鍵字指出 A 在此處宣告,但已經在別處定義過(一次)。 任何遵循此類宣告的程式碼可以參照 A。 如果相同的 extern 陳述式出現在不同檔案,這些陳述式會參照相同的 A

IBM® Rational® Rhapsody® 會自動產生作業來處理物件建立、起始設定、清理及毀損。這些作業與 C++ 的建構子及解構子類似。例如,針對 A 自動產生下列作業:

不會針對單態產生 Create()Destroy() 作業。如需相關資訊,請參閱單態物件


意見回饋