執行階段物件模型的服務

類別 CObjectCRuntimeClass 封裝數個物件服務,包括 run-time 類別資訊、 序列化、 和存取動態物件建立。所有的類別衍生自CObject繼承這項功能。

Run-time 類別資訊的存取權可讓您判斷在執行階段物件的類別資訊。當您需要額外型別檢查函數的引數,您必須撰寫特殊用途的物件類別為基礎的程式碼時,能夠在執行階段決定物件的類別很有用。直接由 C++ 語言不支援 run-time 類別資訊。

序列化是讀取或寫入物件的內容,或從檔案的程序。若要儲存物件的內容,即使在應用程式結束後,您可以使用序列化。物件再讀取檔案中,重新啟動應用程式時。這類的資料物件稱為 「 永久 」。

動態物件建立可讓您在執行階段建立指定的類別的物件。比方說,文件、 檢視和框架物件必須支援動態建立,因為架構必須動態地建立。

下表列出支援 run-time 類別資訊、 序列化、 和動態建立的 MFC 巨集。

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

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

DECLARE_DYNAMIC

啟用對存取 run-time 類別資訊 (必須在類別宣告中使用)。

DECLARE_DYNCREATE

可讓動態建立並存取 run-time 類別資訊 (必須在類別宣告中使用)。

DECLARE_SERIAL

可讓序列化和 run-time 類別資訊 (必須使用在類別宣告) 的存取權。

您的類別

啟用對存取 run-time 類別資訊 (必須使用中的類別實作)。

IMPLEMENT_DYNCREATE

可以讓動態建立和執行階段資訊 (必須使用的類別實作中) 的存取權。

IMPLEMENT_SERIAL

允許序列化以及 run-time 類別資訊 (必須使用的類別實作中) 的存取權。

RUNTIME_CLASS

傳回CRuntimeClass相對於具名類別的結構。

OLE 通常需要在 run time 動態建立的物件。例如,OLE 伺服器應用程式必須能夠從用戶端要求的回應中動態地建立 OLE 項目。同樣地,「 自動化 」 伺服器必須能夠建立回應自動化用戶端要求的項目。

Mfc 程式庫會提供兩個特定的巨集給 OLE。

動態建立的 OLE 物件

DECLARE_OLECREATE

可讓建立 「 OLE 自動化物件。

IMPLEMENT_OLECREATE

可讓 OLE 系統所建立的物件。

請參閱

概念

MFC 巨集和全域變數