运行时对象模型服务

CObjectCRuntimeClass 封装多个对象服务,包括对运行时类信息、序列化和动态对象创建的访问。 从 CObject 派生的任何类继承此功能。

对运行时类信息的访问可确定有关对象类的信息在运行时。 能够确定对象的类在运行时很有用,在需要额外类型检查函数参数时,因此,当您必须根据对象的类中编写特殊用途的代码。 运行时类信息不是直接由 C++ 语言支持。

序列化是写入或读取处理对象的内容来回文件。 ,在应用程序退出后,可以使用序列化存储对象的内容。 ,重新启动应用程序后,对象可以从文件中读取。 这些数据对象视为 “不可变”。

动态对象创建可以创建指定类的对象在运行时。 例如,文档,查看,并且,帧对象必须支持动态创建,因为框架需要动态创建它们。

下表列出了支持运行时类信息、序列化和动态创建的 MFC 宏。

有关这些运行时对象服务和序列化的更多信息,请参见中的文章 CObject 类:访问的运行时类信息

运行时对象模型服务宏

DECLARE_DYNAMIC

启用对运行时类信息的访问 (必须在类中声明)。

DECLARE_DYNCREATE

启用动态创建和获取对运行时类信息 (必须在类中声明)。

DECLARE_SERIAL

启用序列化和获取对运行时类信息 (必须在类中声明)。

IMPLEMENT_DYNAMIC

启用对运行时类信息的访问 (必须使用类来实现)。

IMPLEMENT_DYNCREATE

启用动态创建和获取对运行时信息 (必须使用类来实现)。

IMPLEMENT_SERIAL

许可证序列化和获取对运行时类信息 (必须使用类来实现)。

RUNTIME_CLASS

返回对应于命名类的 CRuntimeClass 结构。

OLE 经常需要对象的动态创建在运行时。 例如,一个 OLE 服务器应用程序必须能够动态创建 OLE 项以响应来自客户端的请求。 同样,自动化服务器必须能够创建项目以响应来自自动化客户端的请求。

Microsoft 基础类库 (mfc) 提供特定两的宏对 OLE。

OLE 对象的动态创建

DECLARE_OLECREATE

使对象通过 OLE 自动化创建。

IMPLEMENT_OLECREATE

使对象由该 OLE 系统创建。

请参见

概念

MFC宏和Globals