




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章理解对象模型图 课程预览ArcObject对象模型图 OMD 阅读一个对象模型图类的类型类之间的关系接口符号 属性 方法解释对象模型图 写代码 一 ArcObject对象模型图OMDs帮助你写代码显示每个类的接口 属性和方法显示类之间的关系在几个对象模型图超过1500个类超过1600个接口 找到ArcObject对象模型图 二 对象模型图的标记继承组成创建多重性 关联 BirdAbstract NestCoClass ChickenCoClass FeatureClass WingClass EggClass 2 例如table createRow 对象模型图的标记的几个基本概念 1 继承关系 人们将具有共同特性的元素抽象成类别 并通过增加其内涵而进一步分类 例如 动物可分为飞鸟和走兽 人可分为男人和女人 2 创建关系 Instantiation 指某个类中的对象拥有一个方法 可以创建另一类中的对象 3 关联关系 Association 表示两个类之间存在某种语义上的联系 3 多重性 表示参与对象数据的上下界限制 即限制对象类与其他对象关联的数目关系 以下是用于多重性关联的符号 1 一个并且只有一个 这种多样性是可选的 如果不标明 则默认为 1 0 1 零个或一个M N 从M到N 正整数 或者0 从零到任意正整数 1 从1到任意正整数 ArcMap OMD例子 MxDocument Map Layer FeatureLayer Application 1 概念 可创建的类 组件类 指那些能够直接使用通过开发环境中的对象定义语法来创建对象的类 可创建类可以直接被创建或者实例化 三 三种类 一 可创建的类 组件类 CoClass 2 特点可创建的 用New关键字DimpMapAsIMapSetpMap NewMap实例化 DimpMapAsIMapSetpMap pMxDocument FocusMap 获取当前文档的焦点地图OMD符号 三维带阴影的矩形 可以使用New关键字实例化的类 可实例化类 不能够直接创建新对象 但是这种类的对象能够作为其他对象的属性被创建 或是通过其他类的方法来创建 二 可实例化类Class1 概念 2 特点不可创建的类 不能用New关键字只能由其它对象获得实例DimpNewRowAsIRowSetpNewRow pTable CreateRow 三维无阴影 生成 抽象类 不能用以创建新对象 但可以用来指定子类 如Layer是FeatureLayer和RasterLayer的抽象类 三 抽象类Abstract1 概念 2 特点不可创建 不可实例化把一些类共同的属性和方法提取出来 用其它类来继承 二维带阴影的矩形 为子类定义通用的接口 继承 分为两种 类继承和接口继承 类继承 子类中含有父类所有的接口 Layer FeatureLayer QI接口继承 子接口中包含父接口中的所有属性方法 NoQI表示方法 ILayer IUnkown所有COM都有IUnkown接口 每个接口都继承至IUnkown接口 IObjectClass IFeatureClass用 表示IFeaturelayer ILayer 帮助 继承接口 示例查找LayerCarto Property哑铃形状的图标Method 四 属性和方法符号 五 开始点预先设置变量Application Application对象的IApplication接口ThisDocument MxDocument对象的IDocument接口ArcMap或ArcCatalogOMD的开始点 Application ThisDocument 一 Application对象每个运行对象的ArcMap程序都是一个Application的对象实例 Application代表了程序本身 在ArcMap中 以Application对象为根本 Application管理ArcMap程序的启动和关闭 加载扩展模块等 Application对象下面的有几个重要的对象 1 DataWindow 它负责管理数据窗口 2 Extention 负责管理所有的DLL扩展模块对象3 AppDisplay 负责管理地理数据的图形显示4 Document 负责管理地理数据和元素对象5 StatusBar 用于改变程序的状态栏外观6 Templates Application启动后必须使用的文档模板对象 Application AppDisplay Templates MxDocument Extension StatusBar IApplicationIMxApplication IAppDisplayIDisplayIScreenDisplay ITemplates IStatusBar IExtension IDocumentIDocumentEventsIDocumentEventsDispIMxDocument Application结构图 IApplicaiton接口Application类是在FrameWork库中定义的 它是应用程序的一个抽象类 该接口定义了ArcGIS中所有应用程序的一般功能 该接口管理程序的Caption Document Template和VBE等ArcMap和ArcCatalog应用程序中都拥有的方法和属性 当直接使用VBA环境开发的时候 它意味着可以直接联系到程序本身的某些属性和特征 IMxDocument接口这是ArcMap程序特有的接口 用于管理SelectionEnvironment Display Paper和Print等对象 这些对象和地图的显示和打印输出有关 二 Document对象只要打开ArcMap程序 就会有一个默认的文档文件 mxd 存在 文档文件有多种 如ArcMap中的文档称为MxDocument ArcCatalog中的为GxDocument 在程序中一次只能有一个文档存在 它在数据存储和显示中扮演了一个关键的角色 并且保存了许多非常重要的对象 一个或多个Map 一个PageLayout 一个TOCView StyleGallery和DataGraphs等 用户可以通过IApplication Document来获取一个文档对象的指针或者在VBA编程的框架中直接使用ThisDocument这个全局变量 DimpAppAsIApplicationSetpApp ApplicationDimpDocAsIMxDocumentSetpDoc pApp Document DimpDocAsIMxDocumentSetpDoc ThisDocument 六 获取属性值返回一个值返回一个接口 返回一个值DimstrNameAsStringDimpDocAsIDocumentDimpBarAsIStatusBarstrName Application NameMsgBoxstrName返回一个引用SetpDoc Application DocumentSetpBar Application StatusBarpBar Message 0 pDoc Title 设置属性PropertyPut MostArcObjectsproperties属性获得一个值或一个对象的副本不使用Set关键字pLayer Name PortMoresby NoSetKeywordPropertyPutbyReference SomeArcObjectsproperties属性获得一个对象的引用即需要传入一地址必须使用Set关键字SetpLayer FeatureClass pMoresbyData MustuseSet IFeatureLayerInterface帮助 七 查找接口 这些接口也是有效的 但是详细的属性和方法必须在其它地方浏览 e g ObjectBrowser 该接口被本类使用 所有的属性和放都列表在类图中 继承接口是有效的 类继承要查找父类的接口接口继承的属性和方法示例 接口 八 虫孔 FeatureLayeronMapLayerOMD ElementonArcMapOMD 虫孔 Example MxDocument Map layer GettheFocusMap activedataframe fromMxDocumentMxDocumentmayhaveseveralMaps GetalayerfromthetheMapManytypesoflayers DimpMxDocAsIMxDocumentSetpMxDoc ThisDocumentDimpMapAsIMapSetpMa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抢救工作制度考试题(含答案)
- 数学专业毕业论文数分
- “以学生为中心”的前置评价教学案设计研究-以《立在地球边上放号》为例
- 计算机专业毕业论文摘要
- 毕业论文药学专业咋写
- 2024年院感知识考核试题附答案
- 2024年肺结核防治知识培训测试题(附答案)
- 家政专业的大专毕业论文
- 毕业论文演讲稿怎么写
- 2025年籽仁类产品合作协议书
- 单位无宿舍证明
- 糖皮质激素性骨质疏松症及其治疗
- 2022年省直辖行政单位政务中心综合窗口人员招聘笔试试题及答案解析
- YY/T 0127.11-2014口腔医疗器械生物学评价第11部分:盖髓试验
- GB/T 3036-1994船用中心型蝶阀
- GB/T 19867.5-2008电阻焊焊接工艺规程
- GB/T 1706-2006二氧化钛颜料
- 2023年安徽省国有金融资本投资管理有限公司招聘笔试题库及答案解析
- 新外研版英语七年级上册单词默写表
- T-CIATCM 002-2019 中医药信息数据元目录
- 特殊教育学校学生管理名师优质课赛课一等奖市公开课获奖课件
评论
0/150
提交评论