初学AE要理解的几个概念

刚接触AE的相关资料,会常常接触到“接口”、“接口查询(Query Interface即QI,接口之间的互相访问)”、“COM”、“OMD(Object model diagrams 对象模型图表)”等等,会想知道AO与AE的异同。看资料有两三天了,先纸上谈兵谈谈自己的理解, 随便资源汇总,方便像偶这样的菜鸟学习。随着之后的深入学习,理解必将更深刻,那时再来一针见血式的各个击破

  接口:接口就是包含一系列不被实现的方法.而把这些方法的实现交给继承它的类。接口包含还未实现的方法(接口还可以包含属性、索引器、事件,不过偶暂时没接触到这些),可以知道通过这个方法能达到什么效果,至于怎么做就不知道了,要通过类去实现接口所提供的方法。例子请参考 http://www.gisall.com/html/63/151663-4677.html

  说到类实现接口所提供的方法,就会遇到“接口查询(Query Interface即QI,接口之间的互相访问)”这个概念。可以看看 http://www.gisall.com/html/63/151663-4678.html里说的班委的例子来理解。我的理解是不同的接口提供了不同的方法(记住接口提供的不仅仅是方法,其他具体还未操作),一件事需要用到多个方法,这些方法分别包含于不同的接口,这时就需要接口们互相合作了,进而由去类实现这些方法,但是接口查询时要注意实例化的类是不是实现了相关接口,具体例子见 http://bbs.esrichina-bj.cn/ESRI/ ... 6%D5%BD%E1%D5%DF%2B中的第一个DEMO演示。

  说到COM,说实话,看了下资料,皮毛都没摸到,偶暂时把其当做一种规范,一种标准,一种抽象的东西。

  OMD,即bject model diagrams 对象模型图表,安装好AE后,可以在安装目录中找到许多pdf文件,内容就是OMD,偶的目录是D:\ArcGIS\DeveloperKit\Diagrams。包括帮助文件也有很多OMD。这么多接口和类,都了如指掌的话就是大牛了吧。。。有了OMD,就可以方便我们查询类和接口的使用方法,尤其是偶这样的菜鸟 ,有了OMD,可以事半功倍。但是首先要会读图,阅读指南参考 http://hi.baidu.com/murphy1314/b ... 8f30f6b311c774.html,当然对于多个符号弄在一起的复杂点的,偶还是迷糊的,更何况还木有实践。。。不过稍后会解决的。

  说到AO与AE的异同,偶的理解是AE从属于AO,因为AE是对AO中的大部分接口、类等进行封装所构成的嵌入式组件,但是不依赖Desktop平台,可以单独开发。想了解更多可以参考 http://baike.baidu.com/view/2305220.htm

  网上有几个比喻很形象,具体参考 http://blog.csdn.net/lsgy2008/article/details/5631417

  1.飞机会飞,鸟会飞,他们都继承了同一个接口“飞”;但是F22属于飞机抽象类,鸽子属于鸟抽象类。

  2. 就像铁门木门都是门(抽象类),你想要个门我给不了(不能实例化),但我可以给你个具体的铁门或木门(多态);而且只能是门,你不能说它是窗(单继承);一个门可以有锁(接口)也可以有门铃(多实现)。 门(抽象类)定义了你是什么,接口(锁)规定了你能做什么(一个接口最好只能做一件事,你不能要求锁也能发出声音吧(接口污染))

  PS:刚接触AE,还未有什么实践经验,欢迎高手不吝指正!感谢众多前辈的技术文章,感谢“醉意人间”前辈的博客 http://www.gisall.com/html/63/151663-type-blog.html以及相关文章给偶领路,也有篇“ArcEngine学习相关技术文章收录.pdf”,提供了一些技术文章链接,不过偶太笨了,在此基础上又看了些文章才看懂,所以在此把用到的参考资料链接再汇总一下:

  接口编程

    http://www.gisall.com/html/63/151663-4677.html

  QI(Query Interface)

    http://www.gisall.com/html/63/151663-4678.html

  QI问题终结者

   http://bbs.esrichina-bj.cn/ESRI/ ... 6%D5%BD%E1%D5%DF%2B

  对象模型图【OMD】阅读指南   

http://hi.baidu.com/murphy1314/b ... 8f30f6b311c774.html

  ArcEngine百度百科

http://baike.baidu.com/view/2305220.htm

  接口抽象类的比喻很有意思                 http://blog.csdn.net/lsgy2008/article/details/5631417

  面向接口编程详解(做AE开发应该可以用的到)

   http://bbs.esrichina-bj.cn/ESRI/thread-57806-1-1.html

你可能感兴趣的:(编程,object,百度,嵌入式,query,interface)