COM实用入门教程第一讲.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
COM实用入门教程第一讲

QueryInterface 回顾 这一讲,主要讲解如下要点: 一、现实中的组件与接口; 二、把现实中的思想融入到软件中; 三、c++程序中的组件与接口; 四、COM组件与COM接口; 五、QueryInterface函数,HRESULT类型,IID类型,数据类型转换。 COM实用入门教程 第一讲 主讲人:阙海忠 VC知识库网站 () 拍摄制作 本讲要点: 一、现实中的组件与接口; 二、把现实中的思想融入到软件中; 三、C++程序中的组件与接口; 四、COM组件与COM接口; 五、QueryInterface函数,HRESULT类型,IID类型,数据类型转换。 现实中的组件与接口 组件的定义:含有可独立性,可通用性,可组合性,可替换性的事物,我们把它称作组件。 现实世界中存在各种各样的具备组件概念的设备。如:电脑主机内的设备: CPU、内存条、硬盘、光驱。还比如:5号电池、7号电池、插座。 为什么说这些设备具备组件概念呢?因为这些设备都具有可独立性,可通用性,可组合性,可替换性。 现实中的组件与接口 接口的定义:是组件与组件之间,组件与外部事物之间进行交互的协议。 组件与组件,组件与其它设备的交互工作是通过接口进行的。 CPU跟主板之间有固定的接口,内存条跟主板之间也有固定的接口。如果CPU要更换,被更换的CPU必须与旧的CPU拥有相同的使用接口。 现实中的组件与接口 * 主板不直接认识CPU,只认识CPU的接口。主板也不直接认识内存条,只认识内存条的接口。 * 所以接口的约定是很重要的。在组件的开发之前,必须先约定组件与外界交互的接口协议。 * 接口协议只要确定后,往往是不能再改变的,比如5号电池不能再做得大一点或再小一点,然后去替换旧的5号电池。 现实中的组件与接口 采用组件与接口的思想来开发设备,体现了社会分工的一个现象,也是社会生产力发展的必然过程,做CPU的厂商只管做CPU,不用告诉主板关于CPU本身的实现细节,也不用去了解主板的实现细节。 这一讲,主要讲解如下要点: 一、现实中的组件与接口; 二、把现实中的思想融入到软件中; 三、C++程序中的组件与接口; 四、COM组件与COM接口; 五、QueryInterface函数,HRESULT类型,IID类型,数据类型转换。 把现实中的思想融入到软件中 面向对象思想来源于大自然,让我们面向着是一个一个的对象,不是面向一个一个的过程(面向过程思想)。 黑格尔说“存在的就是合理的”,大自然存在各种各样的对象,每类对象具有自己的特性,对象存在继承关系。这些存在是合理的。最后把这些合理的思想演变成面向对象思想,所以面向对象思想是合理的。 把现实中的思想融入到软件中 社会的发展促使人类在劳动上的分工,分工又以约定的接口协议来交互。社会的发展产生了这种“组件-接口”的开发思想,这种思想又是长期没有被替换过的思想,这是一种好的思想,合理的思想。 若我们以组件方式架构我们的软件。我们软件中的组件将具有可独立性,可通用性,可组合性,可替换性;我们的软件也将具有更好的灵活性,可拓展性和可维护性。我们软件的开发过程也会变得更加的简单,更好的分工,更加的规范。 这一讲,主要讲解如下要点: 一、现实中的组件与接口; 二、把现实中的思想融入到软件中; 三、C++程序中的组件与接口; 四、COM组件与COM接口; 五、QueryInterface函数,HRESULT类型,IID类型,数据类型转换。 C++程序中的组件与接口 接口,是一种约定,一种协议。它是抽象的,指明了具体含义,但却没有实现这个定义。 我们看一下C++的纯虚函数:求最大公约数,virtual int GreatestCommonDivisor(int a, int b) = 0; //求a与b的最大公约数。 这个函数的定义很明确,但没有实现这个含义的具体方法,所以,是抽象的。 c++程序中的组件与接口 我们一般采用interface这个英文单词表示C++中的接口,它在Microsoft Visual Studio 安装目录\VC\PlatformSDK\include\objbase.h中被预定义。 #define interface struct 在其它开发平台下,也可以自己编写预定义代码。 C++程序中的组件与接口 //接口IX interface IX { virtual void Fx1() = 0; virtual void Fx2() = 0; }; //接口IY interface IY { virtual void Fy

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档