- 34
- 0
- 约2.96千字
- 约 22页
- 2016-11-28 发布于重庆
- 举报
AE开发_01_COM组件与接口
AE开发COM组件与接口小节内容COM组件对象模型简介如何使用COM类接口Interfaces多态Polymorphism接口查询QueryInterface测试一个对象的引用的常用方法Is it nothing?What type of object is it?COM简介COM是创建类的一个标准COM类可以在不同的工程中重用不依赖于具体的开发语言所有的 ArcObjects 都是 COM 类ArcObjects基于COM技术构建对象连接与嵌入技术 (OLE)OLE DB技术ActiveX 技术是 COM 技术的一种封装DCOM 和 COM+垃圾车RaceCarIDrive燃料IDriveFuel加速Accelerate刹车BrakeIGarbage倾倒IRace圈速度拾起停靠站COM 类拥有接口对象拥有一个或多个接口 接口是定义了一组方法和属性的逻辑关系与对象的通信是通过接口来进行的 VehicleClass燃料IDrive加速刹车通信契约——接口接口的秘密接口可以被看做一种定义了必要的方法和属性的类型。作为类型而存在,是类型(Class)一般行为的定义和契约。启动接口的作用定义多个类型都需要的公共方法和属性。作为一种不可实例化的类型存在。COM接口 在讨论COM接口时,COM规范(微软,1995)着重强调以下四点: 接口不是类。接口不能实例化自身,因为其上没有实现。 接口不是对象。接口是一个相关功能组,是客户和对象之间通信的二进制标准。接口具有很强的类型性。每个接口都有自己的接口标识符,因此消除了具有人们易读相同名字接口间可能的冲突。 接口是不变的。接口从来没有版本。一旦接口被定义和公布就不能改变。 GarbageTruckFuelIDriveAccelerateBrakeIGarbageDumpPickUp使用 ArcObjects COM 类使用一个接口指向一个COM类some interface variable = new coClass接口集合了属性和方法IDrive pGarbage = new GarbageTruck();pGarbage.Fuel = Full“;pGarbage.Accelerate();IRadioITapeICD更多的接口例子 …一个组合音响的例子一个对象可以播放收音机、磁带、CD必须使用适当的接口如果选择了播放磁带的接口,则不能收听收音机ITape pBBox = new BoomBox();pBBox.FM = true;//error多态许多不同的类可以支持相同的接口拥有相同的所有的方法和属性可以有不同的执行方式和拥有不同的属性值IDrive 燃料 加速 刹车多态ArcObjects 多态许多ArcGIS的类都表现出多态的特性所有的子类都是集成了接口ILayer: All layer types (raster, tin, feature, etc.)IGxFile: All ArcCatalog file types (shapefile, map, table, etc.)IActiveView: Map (data view) and PageLayout (layout view)Several others …RaceCarFuelIDriveAccelerateBrakeIRaceLapTimePitStop使用接口的属性和方法定义一个指向接口的遍历实例化一个对象 调用方法和设置属性只能使用定义的接口的属性和方法//Create a new RaceCar with IDrive IDrive pCar = new RaceCar(); pCar.Accelerate(); pCar.Fuel = Full“; pCar.PitStop();//可以吗?取得其他的接口接口查询 (QI) 访问其它接口的属性和方法//Create a new RaceCar with the IDrive interfaceIDrive pCar = new RaceCar();pCar.Accelerate();//Switch interfacesIRace pRace = pCar as IRace;pRace.PitStop();pCar.Accelerate();//pCar 和pRace 指向相同的对象**RaceCarFuelIDriveQ IAccelerateBrakeIRaceLapTimePitStop使用类库命名空间许多类库中有相同的类名和接口名可以明白地引用对象库在EsriCore库中创建一个新的点和线对象ESRI.ArcGIS.esriCore.Ipoint pPoint = new Point(); ESRI.ArcGIS.esriC
您可能关注的文档
- 防溺水710.doc
- 防火处理预案.doc
- 防火玻璃在高层建筑幕墙中应用的思考.docx
- 防火墙购买方案.docx
- 防火规范总结.docx
- 防火门安装工艺.doc
- 防火门新标准GB12955-20082.doc
- 2015血液二.ppt
- 防洪评价专题报告.doc
- 防火防爆理论与技术试卷(B)(安全B065)标准答案及评分标准.doc
- 2025至2030中国有效载荷系统行业市场发展现状研究及投资战略咨询报告.docx
- 2025年货物运输《运输理论与实务》安全及技能知识考试题库与答案.docx
- 县绿色金融发展三年行动计划实施方案.docx
- 2025年文化旅游主题公园游乐设施安全与舒适度提升可行性分析.docx
- 2025至2030中国有效灌溉行业市场发展现状研究及投资战略咨询报告.docx
- 全球物流行业五年升级:2025年效率提升与投资方向报告.docx
- 2025年水下机器人十年发展:水下焊接报告.docx
- 特色小镇文化旅游IP运营项目2025年旅游与文化教育产业结合可行性报告.docx
- 七年级英语上册Starter Unit 3:颜色认知与交际应用(第三课时).docx
- 2025年辽宁冶金职业技术学院单招职业技能测试题库及答案解析word版.docx
最近下载
- 【做题本】平板版25考研数学周洋鑫考点全刷基础篇·线代.doc VIP
- 2024-2025学年河南省部分学校联考高二下学期开学检测语文试题(解析版).docx VIP
- 2026马年春节小学生主题班会课件(共21张PPT).pptx VIP
- 青海民间小调.pdf
- 2025 年考研数学三概率论与数理统计专项:易错点练习题.docx VIP
- 考研数学线代基础阶段的复习方法.docx VIP
- 安徽省芜湖市无为市部分学校2025-2026学年八年级上学期1月期末考试语文试卷(含答案).docx VIP
- 安徽省芜湖市无为市部分学校2025-2026学年八年级上学期1月期末考试语文试卷(含答案).pdf VIP
- 2025年考研数学《线代》专项训练试卷.docx VIP
- 2025年考研数学三概率统计专项训练冲刺押题试卷(含答案).docx VIP
原创力文档

文档评论(0)