运行时对象模型服务
CObject 7k3448yy(v=vs.120).md 和 CRuntimeClass 类封装若干对象服务,包括到运行时类信息、序列化及动态对象创建的访问权限。 从 CObject 派生的所有类都继承此功能。
对运行时类信息的访问可确定有关运行时对象类的信息。 在运行时能够确定对象的类,在需要函数参数的额外类型检查时很有用,并且,当必须编写基于对象的类的专用代码时很有用。 运行时类信息不是直接由 C++ 语言支持。
序列化是从文件写入或读取对象内容的过程。 在应用程序退出后,可以使用序列化存储对象的内容。 当应用程序启动时,对象可从文件中读取。 这些数据对象被称为“持久化”。
动态对象创建允许您在运行时创建一指定类的对象。 例如,文档、视图和帧对象必须支持动态创建,因为框架需要动态创建这些。
下表列出了支持运行时的类信息、序列化及动态创建的 MFC 宏。
有关这些运行时对象服务和序列化的更多信息,请参见文章 CObject 类:访问运行时类信息。
运行时对象模型服务宏
允许对运行时类信息的访问 (必须在类中声明)。 |
|
运行动态创建和访问运行时类信息 (必须在类中声明)。 |
|
允许序列化和访问运行时类信息 (必须在类中声明)。 |
|
允许对运行时类信息的访问 (必须在类中实现)。 |
|
允许动态创建和访问运行时类信息 (必须在类中实现)。 |
|
允许序列化和访问运行时类信息 (必须在类中实现)。 |
|
返回相应于命名类的 CRuntimeClass 结构。 |
OLE 通常要求在运行时动态创建对象。 例如,OLE 服务器应用程序必须可动态创建 OLE 项来响应来自客户端的请求。 同样,自动化服务器必须能够创建项响应自动化客户端的请求。
Microsoft 基础类 (MFC) 库提供两个特定的宏到 OLE。
OLE 对象的动态创建
运行通过 OLE 自动化创建对象。 |
|
允许 OLE 系统创建对象。 |