欢迎来到天天文库
浏览记录
ID:55820966
大小:471.00 KB
页数:17页
时间:2020-06-08
《基于COM接口编程基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、AO/AE编程基础(1)引言1.1组件对象模型(COM)1.2理解对象模型图(OMD)1.3Mapsandlayers1.4Dataaccessandcreation1.5Geometryandgeoprocessing1.6Workingwithsubsetsandselections引言ArcObjects与ArcEngie关系2AOAE区别和联系ArcObjects(简称AO)是美国ESRI(EnvironmentalSystemsResearchInstitute)公司提供的一个GIS技术框架,它是基于微软的COM技术开发的一套COM组件对象集,这个组件集提供了大量的GI
2、S功能,例如地图的显示、查询、专题地图生成、空间分析及输出等。基于AE中的系列组件所开发GIS应用系统,在发布时,客户电脑上不需要安装ArcGISDeskTop,只需购买单独的Runtime就可以了。相比于AO,在灵活性和费用上有优势。AE还提供了JAVAAPI,供JAVA程序员使用。目前,使用AE进行GIS应用系统开发,已成为一种流行的GIS二次开发方式。31.1组件对象模型(COM)(1)概念(2)特点(3)Testinganobjectreference(4)UsingtheESRIObjectBrowserandHelp(5)例子——点类和线段类的使用4(1)概念“软件重
3、用”组件(Component)标准来实现二进制级别上的共用COM、JavaBean和CORBA微软提出的COM被认为是开发高效、交互式桌面程序和服务器/客户端程序的较好选择COM模型可以看作是一种客户端/服务器的关系5(2)特点遵循COM标准的类的实例称为COM对象,COM对象有三个特点:抽象、继承和多态。抽象是指COM对象被很好地封装起来,程序员无法获得对象的内部实现细节。垃圾车加速刹车燃料拾起倾倒6接口接口就是将类的相关属性和方法进行分类,不同的类别代表不同的接口。垃圾车加速刹车燃料拾起倾倒IGarbageIDriveRaceCarAccelerateBrakeFuel停靠站
4、圈速度IRaceIDrive7继承继承分为实现继承和接口继承两种类型。COM对象只支持接口继承垃圾车加速刹车燃料拾起倾倒IGarbageIDriveRaceCarAccelerateBrakeFuel停靠站圈速度IRaceIDrive8GettingotherinterfacesQueryInterface(QI)AccessothermethodsandpropertiesQIRaceCarAccelerateBrakeFuelPitStopLapTimeIRaceIDrive'CreateanewRaceCarwiththeIDriveinterfaceIDrivepCar;
5、pCar=newRaceCar();pCar.Accelerate();'SwitchinterfacesIRacepRace;pRace=(IRace)pCar;pRace.PitStop();pCar.Accelerate();'**pCarandpRacepointtothesameobject**IAreapArea;IPointpPt;pArea=(IArea)pPolygon;//QIforIAreaonpPolygonpPt=pArea.Center;9IDrive燃料加速刹车多态许多不同的类可以支持相同的接口拥有相同的所有的方法和属性可以有不同的执行方式和拥有不同
6、的属性值10ArcObjects多态许多ArcGIS的类都表现出多态的特性GeneralinterfacesforallsubtypesILayer:Alllayertypes(raster,tin,feature,etc.)IGxFile:AllArcCatalogfiletypes(shapefile,map,table,etc.)IActiveView:Map(dataview)andPageLayout(layoutview)Severalothers…11(3)TestinganobjectreferenceIsanobjectNothing?if(pLayer==nu
7、ll){MessageBox.show(“null”);return;}If(pLayerIsIFeatureLayer)MessageBox.show(“"YouselectedaFeatureLayer."”);WhatTypeOfobjectisit?12(4)UsingtheESRIObjectBrowserandHelpListsclasses,interfaces,properties,andmethodsArcGISDeveloperKitToolsEOBro
此文档下载收益归作者所有