執行階段物件模型的服務
類別 CObject 和 CRuntimeClass 封裝數個物件服務,包括 run-time 類別資訊、 序列化、 和存取動態物件建立。 所有的類別衍生自CObject繼承這項功能。
Run-time 類別資訊的存取權可讓您判斷在執行階段物件的類別資訊。 當您需要額外型別檢查函數的引數,您必須撰寫特殊用途的物件類別為基礎的程式碼時,能夠在執行階段決定物件的類別很有用。 直接由 C++ 語言不支援 run-time 類別資訊。
序列化是讀取或寫入物件的內容,或從檔案的程序。 若要儲存物件的內容,即使在應用程式結束後,您可以使用序列化。 物件再讀取檔案中,重新啟動應用程式時。 這類的資料物件稱為 「 永久 」。
動態物件建立可讓您在執行階段建立指定的類別的物件。 比方說,文件、 檢視和框架物件必須支援動態建立,因為架構必須動態地建立。
下表列出支援 run-time 類別資訊、 序列化、 和動態建立的 MFC 巨集。
如需有關這些執行階段物件服務和序列化的詳細資訊,請參閱下面的文件 CObject 的類別: 存取 Run-time 類別資訊。
執行階段物件模型服務的巨集
啟用對存取 run-time 類別資訊 (必須在類別宣告中使用)。 |
|
可讓動態建立並存取 run-time 類別資訊 (必須在類別宣告中使用)。 |
|
可讓序列化和 run-time 類別資訊 (必須使用在類別宣告) 的存取權。 |
|
啟用對存取 run-time 類別資訊 (必須使用中的類別實作)。 |
|
可以讓動態建立和執行階段資訊 (必須使用的類別實作中) 的存取權。 |
|
允許序列化以及 run-time 類別資訊 (必須使用的類別實作中) 的存取權。 |
|
傳回CRuntimeClass相對於具名類別的結構。 |
OLE 通常需要在 run time 動態建立的物件。 例如,OLE 伺服器應用程式必須能夠從用戶端要求的回應中動態地建立 OLE 項目。 同樣地,「 自動化 」 伺服器必須能夠建立回應自動化用戶端要求的項目。
Mfc 程式庫會提供兩個特定的巨集給 OLE。
動態建立的 OLE 物件
可讓建立 「 OLE 自動化物件。 |
|
可讓 OLE 系統所建立的物件。 |