uml 继承 聚合 泛化 依赖的 实用解释

uml 继承 聚合 泛化 依赖的 实用解释

ID:1704253

大小:392.00 KB

页数:13页

时间:2017-11-13

uml 继承 聚合 泛化 依赖的 实用解释_第1页
uml 继承 聚合 泛化 依赖的 实用解释_第2页
uml 继承 聚合 泛化 依赖的 实用解释_第3页
uml 继承 聚合 泛化 依赖的 实用解释_第4页
uml 继承 聚合 泛化 依赖的 实用解释_第5页
资源描述:

《uml 继承 聚合 泛化 依赖的 实用解释》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、UML继承聚合泛化依赖的实用解释UML基础知识一、基类在UML2中有二种基本的图范畴:结构图和行为图。每个UML图都属于这二个图范畴。结构图的目的是显示建模系统的静态结构。它们包括类,组件和(或)对象图。另一方面,行为图显示系统中的对象的动态行为,包括如对象的方法,协作和活动之类的内容。行为图的实例是活动图,用例图和序列图。如先前所提到的,类图的目的是显示建模系统的类型。在大多数的UML模型中这些类型包括:类、接口、数据类型、组件类名类的UML表示是一个长方形,垂直地分为三个区,如图1所示。顶部区域显示类的名字。中间的区域列出类的属性。底部的区域列出类的操作

2、。当在一个类图上画一个类元素时,你必须要有顶端的区域,下面的二个区域是可选择的(当图描述仅仅用于显示分类器间关系的高层细节时,下面的两个区域是不必要的)。图1显示一个航线班机如何作为UML类建模。正如我们所能见到的,名字是Flight,我们可以在中间区域看到Flight类的3个属性:flightNumber,departureTime和flightDuration。在底部区域中我们可以看到Flight类有两个操作:delayFlight和getArrivalTime。图1:Flight类的类图继承在面向对象的设计中一个非常重要的概念,继承,指的是一个类(子类

3、)继承另外的一个类(超类)的同一功能,并增加它自己的新功能(一个非技术性的比喻,想象我继承了我母亲的一般的音乐能力,但是在我的家里,我是唯一一个玩电吉他的人)的能力。为了在一个类图上建模继承,从子类(要继承行为的类)拉出一条闭合的,单键头(或三角形)的实线指向超类。考虑银行账户的类型:图4显示CheckingAccount和SavingsAccount类如何从BankAccount类继承而来。图4:继承通过指向超类的一条闭合的,单箭头的实线表示。在图4中,继承关系由每个超类的单独的线画出,这是在IBMRationalRose和IBMRationalXDE中使

4、用的方法。然而,有一种称为树标记的备选方法可以画出继承关系。当存在两个或更多子类时,如图4中所示,除了继承线象树枝一样混在一起外,你可以使用树形记号。图5是重绘的与图4一样的继承,但是这次使用了树形记号。图5:一个使用树形记号的继承实例抽象类及操作细心的读者会注意到,在图4和图5中的图中,类名BankAccount和withdrawal操作使用斜体。这表示,BankAccount类是一个抽象类,而withdrawal方法是抽象的操作。换句话说,BankAccount类使用withdrawal规定抽象操作,并且CheckingAccount和SavingsAc

5、count两个子类都分别地执行它们各自版本的操作。然而,超类(父类)不一定要是抽象类。标准类作为超类是正常的。关联1、21.双向关联当你系统建模时,特定的对象间将会彼此关联,而且这些关联本身需要被清晰地建模。有五种关联。在这一部分中,我将会讨论它们中的两个--双向的关联和单向的关联,而且我将会在Beyondthebasics部分讨论剩下的三种关联类型。请注意,关于何时该使用每种类型关联的详细讨论,不属于本文的范围。相反的,我将会把重点集中在每种关联的用途,并说明如何在类图上画出关联双向(标准)的关联关联是两个类间的联接。关联总是被假定是双向的;这意味着,两个

6、类彼此知道它们间的联系,除非你限定一些其它类型的关联。回顾一下Flight的例子,图6显示了在Flight类和Plane类之间的一个标准类型的关联。图6:在一个Flight类和Plane类之间的双向关联的实例一个双向关联用两个类间的实线表示。在线的任一端,你放置一个角色名和多重值。图6显示Flight与一个特定的Plane相关联,而且Flight类知道这个关联。因为角色名以Plane类表示,所以Plane承担关联中的“assignedPlane”角色。紧接于Plane类后面的多重值描述0...1表示,当一个Flight实体存在时,可以有一个或没有Plane与

7、之关联(也就是,Plane可能还没有被分配)。图6也显示Plane知道它与Flight类的关联。在这个关联中,Flight承担“assignedFlights”角色;图6的图告诉我们,Plane实体可以不与flight关联(例如,它是一架全新的飞机)或与没有上限的flight(例如,一架已经服役5年的飞机)关联。由于对那些在关联尾部可能出现的多重值描述感到疑惑,下面的表3列出了一些多重值及它们含义的例子。2.单项关联在一个单向关联中,两个类是相关的,但是只有一个类知道这种联系的存在。图7显示单向关联的透支财务报告的一个实例。图7:单向关联一个实例:Overd

8、rawnAccountsReport类BankAcc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。