运行时对象模型服务
类 CObject 和 CRuntimeClass 封装多个对象服务,包括对运行时类信息、序列化和动态对象创建的访问。 从 CObject 派生的任何类继承此功能。
对运行时类信息的访问可确定有关对象类的信息在运行时。 能够确定对象的类在运行时很有用,在需要额外类型检查函数参数时,因此,当您必须根据对象的类中编写特殊用途的代码。 运行时类信息不是直接由 C++ 语言支持。
序列化是写入或读取处理对象的内容来回文件。 ,在应用程序退出后,可以使用序列化存储对象的内容。 ,重新启动应用程序后,对象可以从文件中读取。 这些数据对象视为 “不可变”。
动态对象创建可以创建指定类的对象在运行时。 例如,文档,查看,并且,帧对象必须支持动态创建,因为框架需要动态创建它们。
下表列出了支持运行时类信息、序列化和动态创建的 MFC 宏。
有关这些运行时对象服务和序列化的更多信息,请参见中的文章 CObject 类:访问的运行时类信息。
运行时对象模型服务宏
启用对运行时类信息的访问 (必须在类中声明)。 |
|
启用动态创建和获取对运行时类信息 (必须在类中声明)。 |
|
启用序列化和获取对运行时类信息 (必须在类中声明)。 |
|
启用对运行时类信息的访问 (必须使用类来实现)。 |
|
启用动态创建和获取对运行时信息 (必须使用类来实现)。 |
|
许可证序列化和获取对运行时类信息 (必须使用类来实现)。 |
|
返回对应于命名类的 CRuntimeClass 结构。 |
OLE 经常需要对象的动态创建在运行时。 例如,一个 OLE 服务器应用程序必须能够动态创建 OLE 项以响应来自客户端的请求。 同样,自动化服务器必须能够创建项目以响应来自自动化客户端的请求。
Microsoft 基础类库 (mfc) 提供特定两的宏对 OLE。
OLE 对象的动态创建
使对象通过 OLE 自动化创建。 |
|
使对象由该 OLE 系统创建。 |