AO初学者学习文档.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
前奏 ArcGis 首先,很多一开始接触ArcGis 的人总以为它是一个应用程序。很遗憾这种理解是片面,甚 至说是不对的。 ArcGis is a Family. 它是一个家族,是N 多个应用程序的集合――-包括客户端软件、服务 器端软件等等 ArcView 然后,很多一开始接触 ArcView 的人又以为它应该是一个应用程序。很遗憾这种理解又是 片面的,甚至说又是不对的。 ArcView is a Aggregation. 它是一个应用程序的集合体―――包括 Arcmap 、ArcCatalog 、 Arctoolbox 三个应用程序。 主旋律 进入正题前,我们还是有必要看一下已经泛滥的一张图片: (Pic From AO 初探) ArcMap (core and layer objects) 鉴于大家在这次开发中可能很少涉及关于 Page 、Element、Mapsurround 等 Object,所以这 里只是稍微就自己的一字半解来讨论一下Core And Layer Objects 。 Core object Core object 并不是一个Object,它是指在Arcmap 中核心的几个Objects 。从中我又挑出了最 重要也是最常用的三个Object:Application 、MxDocument 、Map 。需要指出的是Application (要是大家以前碰过VBA,一定不会对 Application 这个对象陌生的)、以及 MxDocument (Mx 前缀表示Arcmap 的对象;Gx 前缀表示ArcCatalog 对象)这两个对象在VB 里将不会 碰到,它们只用于VBA 定制。 下面的图片将会使这几个对象直观化: (by kisssy) 小插曲 1 (COM ) COM 不是一种语言,是一种类编程的标准。 l 为什么使用COM? 原因很简单:面向对象;重用,重用再重用;无语言限制(它是一个二进制规范,跟使用什 么语言无关) Sample1:比如我们用VB 编好了一个类,如果把它做成COM 类,并编译成DLL,那么我 们就可以在VC 、C++ 、Delphi 等任何语言中使用。 l 为什么使用接口? 问题源于:当我们需要改变类的方法中实现过程,或者说其中的一些代码和一些参数设置的 时候,如果不使用接口,你就只能像一个推销员一样,天天上门跟你的用户说:这里方法不 是这么调用的。Maybe it ’s cool,but everybody think it’s boring! 那么使用接口又会怎样呢?接口自从你在类设计的时候就规定死了,除非你把它删掉。用户 不需要知道你这个类内部如何变化,他需要做的就是:拿起这把钥匙对准这个钥匙孔! Sample2:假如我们现在有一个收音的接口:用来播放一些相声和笑话;现在用户提出笑话 很无聊,想听音乐 Mp3 。那我们要做的就是改变其中的一些代码,而用户仍旧使用这个接 (by kisssy) 口,然后听到的将是美妙的音乐。 l 该使用哪个接口? 视具体情况查阅:《Exploring AO 》、OMD(Object Module Diagram)、VB 中Object Viewer 。 l QI (Query Interface) 这是在接口编程中经常使用的方法:同一个类的两个接口之间的查询。 Sample3: 比如有一个类A,它有I1 、I2 两个接口,那么我们可以: Dim A1 as I1 Set A1=New A Dim A2 as I2 Set A2=A1 (QI,我自己也是半天才搞明白的,我这也是今天讲的东西里面最有用途的『不好意思有点 臭美了,说不定大家比我清楚的多,呵呵』。我想大家以后在AO 编程中QI 将会发挥它无穷 的魅力) 末了,我有点惊讶,讲Com 竟然没用一张图,COM 大师们会不会过来扁我呢~~ 言归正传,三个核心对象: Application :When you first start ArcMap, the Application object is first created, and then it in turn instantiate

文档评论(0)

xinxinasd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档