当前位置: 首页 > news >正文

做网站的公司深wap电影网站建设

做网站的公司深,wap电影网站建设,wordpress主题创建后门,网站的封面怎么做内容整理自花利忠教授的课件 文章目录 组件对象模型COM基本概念使用接口定义类查询接口(QueryInterface)COM总结 组件对象模型COM 基本概念 对象(Object): 系统中用来描述客观事物的一个实体,构成系统的一个基本单位。由类实例化产生 类(Class)&#…

内容整理自花利忠教授的课件

文章目录

  • 组件对象模型COM
    • 基本概念
    • 使用接口定义类
    • 查询接口(QueryInterface)
    • COM总结

组件对象模型COM

基本概念

对象(Object)
系统中用来描述客观事物的一个实体,构成系统的一个基本单位。由类实例化产生

类(Class)
描述一组有相同特性(属性)和相同行为(方法)的对象。

接口(Interface)
定义了一组方法和属性的数据结构,通过这组数据结构,可以调用组件对象的功能

命名空间(Namespace)
用来组织类,通常可以把相关联的类放在一个命名空间中,进行有效的管理

组件对象模型(Component Object Model)
COM不是接口,也不是对象,它是一种二进制级别的组件通信标准。对象间的所有通信都是通过它们的接口来进行的。

COM对象
符合COM标准的对象,COM对象是实现了很多接口的对象

多态性
同一操作用于不同的对象,可以有不同的解释,产生不同的执行接口。一个类可以有多个接口,一个接口可以由多个类实现

ArcGIS中类的多态性:几个类使用同一个Interface,但每一个类却执行不同的方法和属性

使用接口定义类

<接口名> <变量名> = new 类();

在COM中,对对象的访问时通过接口完成的,因此不能像许多可视化控件那样,可直接通过其名称来调用属性或执行其方法。

//定义一个接口变量
IDrive pGarbage;

有了这个接口对象还不行,因为接口是定义在对象上的,应该产生一个对象,而对象又是从那里来的呢?–类。于是,实例化一个类

pGarbage = new GarbageTruck();

虽然我们实例化了一个GarbageTruck类,但是我们只得到了该类的IDrive接口,只能使用IDrive接口上的方法与属性,如果要使用别的接口,需要使用这个接口变量pGarbage查询出其他接口

查询接口(QueryInterface)

COM对象有很多接口,不同的接口管理着不同类型的方法
因此可以从一个接口转到另一个接口,称为QI
这个过程是由Idispatch接口管理的

这里写图片描述

Idrive pCar = new RaceCar();
pCar.Accelerate(); //调用该接口的方法
IRace pRace = pCar as IRace; //接口查询
//或者:IRace pRace = (IRace)pCar;
pRace.PitStop();
pCar.Accelerate();

COM总结

  1. COM不是接口,也不是对象
  2. 符合COM标准的对象称为COM对象
  3. COM对象必须实现lunknown接口,它是默认实现的接口,这个接口是管理COM对象声明周期的,当COM对象不使用的时候,这个接口定义的方法负责释放内存
  4. 每个组件都有一个独一无二的标识,这就是所谓的全球唯一标识符GUID 。这个标识符就是COM组件的身份,它是一个128bits的数字,由系统自由分配
  5. 一个COM对象可以有多个接口,一个接口也完全可以被多个COM对象实现,通过实现这些接口,COM实现了面向对象的多态性(几个类可以有同样的接口,
    但是它们的实现可能是极不相同的)
  6. COM对象的接口是抽象的,接口与类不同。因为接口没有任何的实现,所以不能通过自身实例化。接口由具体的类来实现,功能用接口抽象地模拟,并且用类取真正实现
  7. COM中的接口和类通常被当做“做什么”和“怎么做”(What,How),接口定义一个对象能做什么(但自己什么都不做),类定义它怎么去做
  8. COM对象的接口是不可变的。接口永远都不会版本化。一旦定义下来并发布,接口不能够改变
  9. DLL灾难:COM是可以被重用的,COM对象的实现过程也可以被修改升级,如果两个程序使用一个COM对象,而这个COM组件升级了的话,很可以就出现某个程序无法使用新组件的情况。
    我们有时候安装了新软件后很多别的软件都无法使用,很多都是因为DLL HELL。别以为这是个小问题,这可是微软提出.NET平台的一个主要原因
http://www.yayakq.cn/news/745007/

相关文章:

  • 网站框架傻瓜式建网站
  • 电子商务网站建设asp sql 源码下载苏州调查公司有哪些
  • 网站导航的交互怎么做让百度收入 wordpress
  • 做软件挣钱的网站做教育网站需要规划哪些内容
  • 搞一个卖东西的网站怎么做网站制作潍坊区域
  • app与网站怎么做阿里巴巴官网站
  • 网站建设企业营销网站建设背景图片
  • vs2008不能新建网站wordpress卡核销
  • 12306网站学生做杭州网站设计公司有哪些
  • 软件下载网站推荐免费的一键网站模块
  • 给自己企业怎么做网站电子网站怎么做
  • wordpress最新appseo关键词快速提升软件官网
  • 西城区好的网站建设多少钱海口网站
  • 上海建设银行网站上班时间非洲外贸网站
  • 郑州专业网站推广优化公司网站无法连接服务器
  • 军队房地产与建设工程法律实务在哪个网站可以购买广州著名网站建设公司
  • 网站缓存实例html网站的规划与建设6
  • 雄安智能网站建设公司山东住房和城乡建设厅网站
  • 桂林网站建设桂林陕西网页设计培训
  • 金泉网是做网站的吗公司的网站设计制作
  • 活动网站怎么建设wordpress设置注册观看
  • 没有网站如何做SEO推广有用吗wordpress自动刷评论
  • 脉脉用的什么技术做网站汉口北做网站
  • 常州做网站的企业抖音代运营有什么内容
  • 网站 开发 周期网站建设费用明细
  • 毕业设计网站设计聊城手机网站建设服务
  • 做mod的网站山西省建设厅招标网站首页
  • 贵阳微网站建设公司哪家好网站源码模板下载
  • 网站集约化建设讲话现在进入西安最新通知
  • 吉安网站推广程序员做任务的网站