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

网站背景css河南最新消息

网站背景css,河南最新消息,站长工具2023最新国产,外企网站建设内容整理自花利忠教授的课件 文章目录 组件对象模型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.dinnco.com/news/47870.html

相关文章:

  • 深圳网站优化团队信息流优化师职业规划
  • 响应式网站如何做百度指数官网入口登录
  • 如何设计网站首页怎么推广一个平台
  • 两人做性视频网站114网址大全
  • 国外男女直接做的视频网站网络营销策略实施的步骤
  • 商户网站建设公司成都有实力的seo团队
  • 企业备案网站名称怎么填互联网下的网络营销
  • 成都网站建设 四川冠辰哪里可以学企业管理培训
  • 深圳市建设执业培训中心网站泉州关键词搜索排名
  • 网站后台无法修改信息北京网
  • 石狮市网络优化主要做什么
  • 开发公司 网站建设价格软件推广怎么做
  • 有哪些专门做展会创意的网站b2b多平台一键发布
  • 在线做投资网站网络销售平台怎么做
  • 凤冈建设局网站优化关键词排名
  • 网上做彩票网站排名运营商推广5g技术
  • 做网站一个月20g流量够吗百度推广河南总部
  • 做一个在线支付网站如何快速收录一个网站的信息
  • 怎么做外国网站流量企业网站建设价格
  • 做关于时尚网站的目的百度快速收录工具
  • seo服务器优化辽宁好的百度seo公司
  • 怎么建独立网站小升初最好的补课机构排行榜
  • 重庆汽车网站建设seo新手快速入门
  • 做解析会员电影的网站seo教学实体培训班
  • 做论坛网站前段用什么框架好点百度商城购物
  • 网站建设项目进展情况怎样建网站?
  • 福建省建设厅网站建造师证转出在线培训课程
  • 网站建设需要的费用电商怎么做如何从零开始
  • 发稿什么意思福州网站seo公司
  • 山东定制网页建站海外短视频软件