共用方式為


執行階段物件模型服務

CObjectCRuntimeClass 類別封裝數個物件服務,包括對執行階段類別資訊、序列化和動態物件建立的存取。 從 CObject 衍生的類別會繼承這個功能。

對執行階段類別的資訊。可讓您決定物件類別的資訊在執行階段。 可判斷物件的類別在執行階段是有用的,當您需要額外型別檢查函式引數,但是,當您必須撰寫根據物件的類別中的程式碼。 執行階段類別資訊不會直接由 C++ 語言支援。

序列化是常值或讀取處理物件的內容加入至檔案。 在應用程式結束之後,您可以使用序列化存放物件的內容。 當應用程式重新啟動時,物件可以從檔案讀取。 這類資料物件被視為持續性」。

動態物件建立可讓您建立指定類別的物件在執行階段。 例如,因為架構需要動態建立,這些文件、檢視和框架物件必須支援動態建立。

下表列出支援的執行階段類別資訊、序列化和動態建立的 MFC 巨集。

如需這些執行階段物件服務和序列化的詳細資訊,請參閱本文件的 CObject 類別:存取的執行階段類別資訊

執行階段物件模型服務巨集

DECLARE_DYNAMIC

啟用執行階段類別資訊的存取權 (必須在類別宣告)。

DECLARE_DYNCREATE

啟用動態建立和擷取至執行階段類別資訊 (必須在類別宣告)。

DECLARE_SERIAL

啟用序列化和擷取至執行階段類別資訊 (必須在類別宣告)。

IMPLEMENT_DYNAMIC

啟用執行階段類別資訊的存取權 (必須在類別建立)。

IMPLEMENT_DYNCREATE

啟用動態建立和擷取至執行階段資訊 (必須在類別建立)。

IMPLEMENT_SERIAL

允許序列化和擷取至執行階段類別資訊 (必須在類別建立)。

RUNTIME_CLASS

傳回對應於名為類別的 CRuntimeClass 結構。

OLE 通常需要物件的動態建立在執行階段。 例如,一個 OLE 伺服器應用程式必須能夠動態建立 OLE 項目以回應來自用戶端的要求。 同樣地, Automation 伺服器必須能夠建立項目以回應從 Automation 用戶端的要求。

MFC 程式庫提供特定兩個巨集給 OLE。

OLE 物件的動態建立

DECLARE_OLECREATE

物件可以透過 OLE Automation 建立。

IMPLEMENT_OLECREATE

使這個物件是由 OLE 系統建立。

請參閱

概念

MFC 巨集和全域