对象模型图(OMD)课件

上传人:我*** 文档编号:147981146 上传时间:2020-10-15 格式:PPT 页数:14 大小:2.32MB
返回 下载 相关 举报
对象模型图(OMD)课件_第1页
第1页 / 共14页
对象模型图(OMD)课件_第2页
第2页 / 共14页
对象模型图(OMD)课件_第3页
第3页 / 共14页
对象模型图(OMD)课件_第4页
第4页 / 共14页
对象模型图(OMD)课件_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《对象模型图(OMD)课件》由会员分享,可在线阅读,更多相关《对象模型图(OMD)课件(14页珍藏版)》请在金锄头文库上搜索。

1、理解对象模型图(OMD),OMD是基于OMT(Object Modeling Technique)的表示方法,先来看看OMD能帮我们做些什么? 1 该类支持哪些接口;2 完成任务需要哪些对象;3 如何使用该类的对象;4 是否可以直接实例化类;5 接口有哪些方法和属性;6 是否有其它类也支持该接口;7 对象间的关系。,在哪里可以找到ArcGIS OMD图表,Start Programs ArcGIS Developer Help 简单的、详细的类图 PDF files 软件安装的目录中 一般在 安装目录DeveloperKitDiagrams下 电子书籍光盘中,解析对象模型图,OMD中的类有:

2、抽象类(Abstract Class):不能用于创建对象,但可以用来指定子类。(通过类型继承)。 组件类(CoClass):可以直接创建对象。 普通类(Class):不能直接创建对象,但可以作为另一个类的属性或者通过另一个类的实例化来创建对象。,在OMD中的关系类型主要有: 类型继承(Type inheritance) 创建(Instantiation) 组成(Composition):对象间的主次关系 关联(Associations),A和B为普通类对象,C为组件类对象,D为一普通类, 如下面代码: A = B.writeA() A = C.writeA() A = New D () X 普

3、通类不能通过New方法产生 A的生命周期是由产生它的对象B和C控制的,ArcObjects UML关系符号,ArcObjects UML关系符号例子,继承 组成 用来创建 对应关系 1:N 联合,*,_,蛋,鸟,翅膀,羽毛,2,Abstract,Class,Class,Class,小鸡,CoClass,巢,CoClass,*,类和他们相应的对象,ArcObjects 对象例子,MxDocument,Map,Layer,*,*,FeatureLayer,Application,不能创建或实例化 抽象类永远不能有实例 为子类定义了泛化(general) 子类集成了抽象类的接口 抽象类的OMD 符号

4、: 2维阴影矩形,抽象类( Abstract Class ),可以创建:使用 New关键字 IMap pMap = new MapClass() 实例化: 从其它对象获得 IMap pMap = pMxDocument.FocusMap() 可创建类的OMD符号:3维阴影矩形,组件类 (CoClass),类 (Class),不能直接创建的类 不能使用New关键字来创建 从其它对象处获得实例 IRow pNewRow = pTable.CreateRow() 实例化类的OMD符号: 3维没有阴影的矩形,生 成,属性和方法的符号,属性 哑铃形状的图标 方法,属性传值: 大部分 ArcObjects

5、的属性 属性保存了一个对象的值或者一个拷贝 不需要使用Set关键字 属性传引用: 一些 ArcObjects的属性 属性保存了一个对象的引用 必须使用Set关键字 如果引用对象发生了变化,对象的属性将同步受到影响,设置属性,pLayer.Name = Port Moresby No Set keyword,Set pLayer.FeatureClass = pMoresbyData Must use Set!,接口棒棒糖类型的图标 ( ),查找接口,这些接口也是有效的。但是详细的 属性和方法必须在其它地方浏览。 (e.g., Object Browser).,该接口被本类使用. 所有的属性和方

6、法都列表在类图中.,继承接口是有效的,FeatureLayer on Map Layer OMD,概念上,这是一个对象模型 事实上, 被分别在几张图表里存放 虫洞表现了图表与图表间的连接关系,ArcObjects OMD图表上的虫洞,Element on ArcMap OMD,虫洞,例子: MxDocument Map layer,从当前的文档中取得聚焦的Map (active data frame) MxDocument 可以包含一些 Maps ( * ) 从一个 Map中取得图层对象 图层对象有多种的类型 ( ),IMxDocument pMxDoc = LoadMxdDoc (c:Temptest.mxd); IMap pMap = pMxDoc.FocusMap; ILayer pLayer = pMap. get_Layer(1); / Is pLayer a FeatureLayer? if( pLayer is IFeatureLayer ) MessageBox.Show( Yes!, its a feature layer ); ,MxDocument,Map,FeatureLayer,Layer,*,*,Others,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号