如何阅读对象模型图_第1页
如何阅读对象模型图_第2页
如何阅读对象模型图_第3页
如何阅读对象模型图_第4页
如何阅读对象模型图_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 AE OMD AE OMD图的阅读图的阅读2010.92010.9西安科技大学西安科技大学测绘科学与技术学院测绘科学与技术学院李崇贵李崇贵1 1、对象模型图阅读、对象模型图阅读 n几个名词概念几个名词概念: :UMLUML:Unified Modeling Language Unified Modeling Language 统一建模语言,是用来对软件密集统一建模语言,是用来对软件密集系统进行可视化建模的一种语言。系统进行可视化建模的一种语言。UMLUML为面向对象开发系统的产品进行为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。说明、可视化、和编制文档的一种标准语言。O

2、MDOMD:Object model diagrams Object model diagrams 对象模型图表。对象模型图表。首先来看看首先来看看OMDOMD能帮我们做什么能帮我们做什么? ?1 1 该类支持哪些接口;该类支持哪些接口;2 2 完成任务需要哪些对象;完成任务需要哪些对象;3 3 如何使用该类的对象;如何使用该类的对象;4 4 是否可以直接实例化类;是否可以直接实例化类;5 5 接口有哪些方法和属性;接口有哪些方法和属性;6 6 是否有其它类也支持该接口;是否有其它类也支持该接口;7 7 对象间的关系对象间的关系 这些符号是基于这些符号是基于UML 画图工具创建的,画图工具创建

3、的,UML 符号是面向对象分析和设计的工业图样标准。符号是面向对象分析和设计的工业图样标准。对象模型图中提供的信息非常多,是对象浏览器中信息的重要补充。对象模型图中提供的信息非常多,是对象浏览器中信息的重要补充。C#,或者其它的开发环境,或者其它的开发环境,都会列出所有的类和成员,但不会指明这些类之间的关系。所以,对象模型图是非常有利于读都会列出所有的类和成员,但不会指明这些类之间的关系。所以,对象模型图是非常有利于读者对者对ArcInfo 组件的理解的!组件的理解的!1. 类和对象类和对象在UML 图中有三种类型的类:抽象类(abstract class)、可创建类(createable c

4、lass)与可实例化类(instantiable class)。l抽象类不能用以创建新对象,但可以用来指定子类。举个例子,“鸟”是“鸡”的抽象类。l可创建类指的是那些能够直接使用开发环境中的对象定义语法来创建对象。比如在Visual Basic 中是这样书写:Dim As New 或者CreateObject 。l可实例化类不能够直接创建新对象,但是这种类的对象能够作为其它对象的属性被创建或是从其它类的方法中创建。-比较难理解。1 1、对象模型图阅读、对象模型图阅读 鸟鸟 AbstractAbstract鸟巢 CoClass鸡 CoClass羽毛羽毛 ClassClass翅膀翅膀 ClassC

5、lass蛋蛋 ClassClass*22. 关联关联在抽象类、可创建类和可实例化类之间,有几种存在的关联(或称关系)。联系(association)便描述了类之间的关联。在两端的类中可以定义多重性( Multiplicity)关联。 在这张图上,一个业主能有拥有一块或多块宗地;同样地,一块宗地可以被一个或多个业主所共有。多重性关联就是限制对象类与其它对象关联的数目关系。以下是用于多重性关联的符号:1 一个并且只有一个,这种多样性是可选的;如果不标明,则默认为“1”0.1 零个或一个M.N 从M 到N(正整数)*或者0 * 从零到任意正整数1 * 从一到任意正整数 1 1、对象模型图阅读、对象模

6、型图阅读 5、组成组成(Composition)是一种更为强壮的聚合方式,此种方式下,“整体”对象控制着“部分”对象的生存时间。 一个pole 包含一个或多个crossarm。在这个图中当pole 被移除后,crossarm 就不能再使用了。因为pole 控制着crossarm 的生存时间。1 1、对象模型图阅读、对象模型图阅读 6、OMD中的符号:中的符号:n一个三角形符号 表示继承n形的黑色小块 表示组成n线前头带个箭头 表示用来创建n* 表示对应关系1:Nn一条直线表示 联合1 1、对象模型图阅读、对象模型图阅读 6、OMD中的符号:中的符号:类的类别:类的类别:n抽象类:抽象类:不能创

7、建或实例化,从来没有一个抽象类的实例 用于定义子类的公共接口,子类继承其定义的接口。OMD符号为:二维的内部有阴影的矩形。n例化类:例化类:不能创建,从别的对象获得实例。 OMD符号为:3D矩形内部没有阴影n可创建的类:可创建的类:用New关键字创建对象或者从别的对象获得运行实例。OMD符号为:带阴影的3D矩形符号。1 1、对象模型图阅读、对象模型图阅读 6、OMD中的符号:中的符号:属性和方法:属性和方法:n属性:哑铃状的图标,Read(左侧的哑铃)和write(右侧的哑铃)n方法:指向左侧的箭头n接口:棒棒糖类型的图标n图表之间的连接:虫洞1 1、对象模型图阅读、对象模型图阅读 7、入接口

8、和出接口、入接口和出接口(Inbound interface,Outbound interface)COM调用既可以是单向的(即客户程序创建组件对象,然后客户程序调用对象所提供的功能,在适当时候再把对象释放掉),通常称为入接口。如果一个COM对象支持一个或多个主动与客户程序进行通信的接口,则这种接口称为出接口,是因为这些接口并不由对象实现,而是由客户程序实现.(类似回调函数,在对象模型图中表现为“事件”)1 1、对象模型图阅读、对象模型图阅读 个人感觉在OMD图中比较难理解的就是可实例化类CLASS。从下面的例子去理解它:ArcGIS Engine中 workSpace 就是一个可实例化类,W

9、orkSpace不能用new创建,但可以通过WorkSpaceFarctory.Openfromfile()方法来创建.如下:IWorkspaceFactory pWorkspaceFactory = new AccessWorkspaceFactoryClass();IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(ConnectionString, 0);1 1、对象模型图阅读、对象模型图阅读 2 2、接口查找、接口查找快速得知ArcGIS Engine接口所属命名空间的几种方式 1.Visual Stduio 2005中提供的智

10、能感知(鼠标悬浮在接口上就能看到)或中提供的智能感知(鼠标悬浮在接口上就能看到)或“转转到定义到定义”(理论上提供(理论上提供F12快捷)快捷) 2.使用帮助文档的索引使用帮助文档的索引 ArcGIS的帮助文档可以说是非常强悍的,如下图所示:的帮助文档可以说是非常强悍的,如下图所示:3.使用使用AE自带的工具:【自带的工具:【Library Locator】 这个工具的使用比较简单(如果用这个工具的使用比较简单(如果用.NET的话,勾选窗体下部的复选框),该工具的话,勾选窗体下部的复选框),该工具能够粘贴命名空间和能够粘贴命名空间和ProgID。 4.OMD OMD文档结构图,理理接口之间的关

11、系,能很大的帮助自己。文档结构图,理理接口之间的关系,能很大的帮助自己。 2 2、接口查找、接口查找3 3、接口跳转、接口跳转接口跳转又叫接口查询 Fuel Accelerate Brake PitStop LapTimeIDriveIRaceRaceCarDim pCar as IDriveDim pCar as IDriveSet pCar Set pCar new RaceCarnew RaceCarpCar.AcceleratepCar.AccelerateDim pRace as IRaceDim pRace as IRaceSet pRace = pCarSet pRace = p

12、CarpRace .PitStoppCar .Accelerate接口跳转时要特别注意:n同一个Com类或则向上(父类)可以实现接口跳转n向下或同级不可以实现接口跳转COM所建立的是一个软件模块与另一个软件模块之间的链所建立的是一个软件模块与另一个软件模块之间的链接接, 当这种链接建立之后当这种链接建立之后, 模块之间就可以通过被称之为模块之间就可以通过被称之为Interface“接口接口 ”的机制来进行通信。在绝大部分情况下的机制来进行通信。在绝大部分情况下, 客户应用程序与组件的通信过程是单向的客户应用程序与组件的通信过程是单向的, 客户创建组件对客户创建组件对象象, 然后客户通过接口调用

13、对象所提供的功能然后客户通过接口调用对象所提供的功能, 在适当的时候在适当的时候再把对象释放掉。在这种交互过程中再把对象释放掉。在这种交互过程中, 客户总是主动的客户总是主动的, 而组而组件总是处于被动状态件总是处于被动状态, 通过自身暴露给客户的接口监听客户通过自身暴露给客户的接口监听客户的请求的请求, 一旦接收到客户的请求便做出反应。这样的接口称一旦接收到客户的请求便做出反应。这样的接口称为入接口为入接口incoming interface,对于一个全面交互过程来,对于一个全面交互过程来说说, 这样的单向通信往往是不能满足实际的需要这样的单向通信往往是不能满足实际的需要, 组件对象也组件对象也要主动与客户进行通信要主动与客户进行通信, 因此因此, 与入接口相对应与入接口相对应, 对象也可以对象也可以提供出接口提供出接口outgoing interface 也叫回调接口也叫回调接口 , 对象通过对象通过这些出接口与客户进行通信。之所以把这些接口称为出接口这些出接口与客户进行通信。之所以把这些接口称为出接口, 其原因在于这些接口并不由其原因在于这些接口并不由 COM服务器端的对象实现服务器端的对象实现, 而是而是由客户程序来实现由客户程序来实现, 客户实现这些接口客户实现这些接口, 并把接口并把接口指针通过一定的手段传给指针通过一定的手段传给 服务器服务器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论