- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 精品解析:广州市荔湾区广雅中学2022-2023学年八年级上学期期末语文试题(原卷版).docx VIP
- 食品安全风险管控清单(淀粉及淀粉制品 .pdf
- 2024年上海市六年级上语文课内文言文《两小儿辩日》对比阅读训练含答案.docx
- 国家开放大学,期末考试复习资料,00474 工程经济与管理.docx
- 知到智慧树网课妇产科学(温州医科大学)答案.docx
- (完整)会计专业生涯人物访谈.pdf
- 2024年江苏省南京市中考道德与法治试题卷(含答案).docx
- 精品解析:广东省广州市白云区2022-2023学年八年级上学期期末语文试题(原卷版).docx VIP
- 密闭空间安全作业规程培训.pptx VIP
- 一年级道德与法治下册课程纲要.doc VIP
文档评论(0)