WEB开发网
开发学院软件开发VC 接触VC之四:COM组件模型基础 阅读

接触VC之四:COM组件模型基础

 2006-07-19 11:36:48 来源:WEB开发网   
核心提示: 嗯,动态链接库的情况就基本如此了,接触VC之四:COM组件模型基础(5),具体动态链接库的编写会和COM组件的编写一块在后续章节里谈及,二、面向对象的组件模型-COMWindows系统霸主地位诂计三四年内是不会被动摇的,下面,我举一个例子,因此,有n多Windows开发平台出现在我们面前

嗯,动态链接库的情况就基本如此了。具体动态链接库的编写会和COM组件的编写一块在后续章节里谈及。

二、面向对象的组件模型-COM

Windows系统霸主地位诂计三四年内是不会被动摇的。因此,有n多Windows开发平台出现在我们面前。n多种开发语言是百花齐放啊。于是,我们像圣经里说的那样,操着不同的语言,彼此无法沟通。为改变这一现实,可爱的比尔就站出来了,”偶要改变世界!”。微软公司制定一个基于二进制通用接口规范-Component Object Model(组件对象模型)。但是,一开始COM的解决目标并非是为了通用接口,而是应用于复合文档(OLE)的实现。而今由于语言无关性、进程透明性、可重用性、保密性(除非高手高手高高手,有谁能从汇编码中看出实现技术来)、而且编写并不困难,所以发展成为了一项应用广泛的技术。

1) 组件对象与接口

组件对象、接口是COM的根基。

下面,请允许我用C++对象做一个类比。

组件对象与C++对象的意义是基本相同的。它是一个功能、属性与逻辑的整体。它是一个实体对象,通过对它的接口操作,可以使用它所提供的功能。

接口相当于C++对象中的public成员。它被暴露给外部使用者,使用者只被允许调用这些被暴露在外面的接口来使用对象的功能。与public成员有所不同的是,接口不是一个变量也不是一个函数,而应该是一组函数。在逻辑上,这个组函数应该是功能相关的。一个组件对象可以拥有许多个接口。

我只知道C++的COM实现方法,至于Dephi我就一无所知。

C++实现方法是:由C++类对象来完成组件对象的实现,由C++纯虚类来代表接口。C++类对象通过多重继承多个接口,来的拥有多个接口。

下面,我举一个例子,来说明C++中的组件对象与接口的关系(下面的例子并不是一个COM实现,只是用来表示组件对象与接口的关系)

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:接触 VC COM

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接