AE开发_01_COM组件与接口ppt课件.pptx

AE开发_01_COM组件与接口ppt课件.pptx

ID:59476413

大小:275.06 KB

页数:22页

时间:2020-09-14

AE开发_01_COM组件与接口ppt课件.pptx_第1页
AE开发_01_COM组件与接口ppt课件.pptx_第2页
AE开发_01_COM组件与接口ppt课件.pptx_第3页
AE开发_01_COM组件与接口ppt课件.pptx_第4页
AE开发_01_COM组件与接口ppt课件.pptx_第5页
资源描述:

《AE开发_01_COM组件与接口ppt课件.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、AE开发COM组件与接口小节内容COM组件对象模型简介如何使用COM类接口Interfaces多态Polymorphism接口查询QueryInterface测试一个对象的引用的常用方法Isitnothing?Whattypeofobjectisit?COM简介COM是创建类的一个标准COM类可以在不同的工程中重用不依赖于具体的开发语言所有的ArcObjects都是COM类ArcObjects基于COM技术构建对象连接与嵌入技术(OLE)OLEDB技术ActiveX技术是COM技术的一种封装DCOM和COM+COM类拥有接

2、口对象拥有一个或多个接口接口是定义了一组方法和属性的逻辑关系与对象的通信是通过接口来进行的RaceCarAccelerateBrakeFuel停靠站圈速度IRaceIDrive垃圾车加速刹车燃料拾起倾倒IGarbageIDrive通信契约——接口接口的秘密接口可以被看做一种定义了必要的方法和属性的类型。作为类型而存在,是类型(Class)一般行为的定义和契约。VehicleClass加速刹车燃料IDrive启动接口的作用定义多个类型都需要的公共方法和属性。作为一种不可实例化的类型存在。在讨论COM接口时,COM规范(微软,

3、1995)着重强调以下四点:接口不是类。接口不能实例化自身,因为其上没有实现。接口不是对象。接口是一个相关功能组,是客户和对象之间通信的二进制标准。接口具有很强的类型性。每个接口都有自己的接口标识符,因此消除了具有人们易读相同名字接口间可能的冲突。接口是不变的。接口从来没有版本。一旦接口被定义和公布就不能改变。COM接口使用一个接口指向一个COM类=new接口集合了属性和方法IDrivepGarbage=newGarbageTruck();pGarbage

4、.Fuel="Full“;pGarbage.Accelerate();使用ArcObjectsCOM类GarbageTruckAccelerateBrakeFuelPickUpDumpIGarbageIDrive更多的接口例子…一个组合音响的例子一个对象可以播放收音机、磁带、CD必须使用适当的接口如果选择了播放磁带的接口,则不能收听收音机IRadioITapeICDITapepBBox=newBoomBox();pBBox.FM=true;//errorIDrive燃料加速刹车多态许多不同的类可以支持相同的接口拥有相同的所

5、有的方法和属性可以有不同的执行方式和拥有不同的属性值多态ArcObjects多态许多ArcGIS的类都表现出多态的特性所有的子类都是集成了接口ILayer:Alllayertypes(raster,tin,feature,etc.)IGxFile:AllArcCatalogfiletypes(shapefile,map,table,etc.)IActiveView:Map(dataview)andPageLayout(layoutview)Severalothers…使用接口的属性和方法定义一个指向接口的遍历实例化一个对象

6、调用方法和设置属性只能使用定义的接口的属性和方法//CreateanewRaceCarwithIDriveIDrivepCar=newRaceCar();pCar.Accelerate();pCar.Fuel="Full“;pCar.PitStop();//可以吗?RaceCarAccelerateBrakeFuelPitStopLapTimeIRaceIDrive//CreateanewRaceCarwiththeIDriveinterfaceIDrivepCar=newRaceCar();pCar.Accelerate

7、();//SwitchinterfacesIRacepRace=pCarasIRace;pRace.PitStop();pCar.Accelerate();//pCar和pRace指向相同的对象**取得其他的接口接口查询(QI)访问其它接口的属性和方法QIRaceCarAccelerateBrakeFuelPitStopLapTimeIRaceIDrive使用类库命名空间许多类库中有相同的类名和接口名可以明白地引用对象库在EsriCore库中创建一个新的点和线对象ESRI.ArcGIS.esriCore.IpointpPo

8、int=newPoint();ESRI.ArcGIS.esriCore.IlinepLine=newLine();使用ESRIObject浏览器列表类、接口、属性和方法位置:ArcGISDeveloperKittoolsEOBrowser.ex

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。