- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML及软件建模 第四章 类之间的关系 如何对类之间的关系建模 如何可视化类和子类的关系。 如何表现类之间的依赖。 关联(association) 关联还可以从另一个方向发生:篮球队雇佣(Employ)队员。可以把这两个方向上的关联表示在一个图中,用实心三角形箭头指明各自关联的方向,下图所示。 和类一样,关联也可以有自己的属性和操作,此时。这个关联实际上是个关联类。图是球员类和球队类之间的关联对应的关联类:合同关联类。它同时又和经理类发生关联。 正如对象是类的实例一样,关联也有自己的实例。如果我们想象要一个特定的队员效力一个特定的球队,那么两者之间的为球队效力关系就叫做一个链,可以用两个对象之间的连线来表示它。和对象的名字要加下划线一样链的名字也要加下划线,如图所示。 多重性(multiplicity ) 某个类有多个对象可以和另一个类的单个对象关联。表示多重性方法是在参与关联的类附近的关联线上著名多重性数值,如图所示。 实际上存在各种可能的多重性。两个类之间可以是一对 一、一对多、一对一或多、一对零或一、一对N或者一对 一组选择。UML使用星号(*)来代表许多(more)和多 个(many)。在一种语境中,两点代表Or(或)关系,例如 “1..*”代表一个或多个。在另一种语境中,Or关系用逗号 来表示,例如“5,10”代表5或10。下图显示了各种可能的 多重性表示方法。 限定关联 当关联的多重性是一对多时,就产生了一个特殊的问题:查找问题。当一个类的对象必须要选择规则中的另一个类的特定对象来满足关联中的角色时,第一个类必须依赖一个具体的属性值来找到正确的对象。这个属性值通常是一个标识符号,在UML中,ID(identification,标识)信息叫做限定符(qualifier)。它的符号是一个小矩形框,把作为一对多多重性的一部分的类连在一起。图表示了这种关系。 自身关联(reflexive association) 有时,一个类可能与它自身发生关联,这样的关联被称 为自身关联。当一个类的对象可以充当多种角色时,自 身关联就可能发生。 继承(inheritance)和泛化(generalization) 面向对象的一个特点是它能够反映日常生活中的常识:如 果你知道某事务所属的种类,你就自然会知道同类的其它 事物也具有该事物的一些特征。 在面向对象的术语中,上述的关系被称为继承,UML中也 称它为泛化。一个类,可以继承另一个类的属性和操作。 继承层次并不止是两层:子类还可以是另一个子类的父类。 在UML中,用父类到子类之间的连线关系来表示继承关系。父类的连线部分,指向父类的一端带有一个空心三角形箭头。 注意:在父类中已经指明的属性和操作,在子类中可以不用再指明。 子类除了继承父类的属性和操作外,通常也增加了自己的属性和操作。 子类除了继承父类的属性和操作外,通常也增加了自己的属性和操作。 一个类可能没有父类,这种没有父类的类被称为基类(base class)或根类(root class) 一个类也可以没有子类,没有子类的类被称为叶类(leaf class).如果一个类恰好只有一个父类,这样的继承被称为单继承(single inheritance),如果一个类有多个父类,这样的继承就是多继承(multiple inheritance)。 找出继承的关系 系统分析员可以通过多种方式发现类之间的关系。作为候选的类有可能和它们的父类、子类在谈话中同时被发现。系统分析员能意识到某个类的属性和操作也许能被运用到其它多个类当中去——此外,这几个类还有属于自己的特定属性和操作。 另一种可能情况是系统分析员注意到两个或多个类具有相同的属性和操作数。 抽象类 (abstract class) 像不提供实例对象的类被称为是抽象的(abstract)。 表明一个类是抽象类的方法是类名用斜体书写。下图示意了抽象类和它的子类的表示方法。 依赖(dependency) 另一种类间关系是一个类使用了另一个类,这种关系叫做依赖。最通常的依赖关系是一个类操作的构型中用到了另一个类的定义。 依赖关系用带箭头的虚线表示,如图所示。 类图和对象图 类图给出了一般性的、定义性的信息:一个类的特性以及它的属性,以及和这个类关联的其他的类。对象图则在某个特定时刻及时给出了一个类的多个具体实例以及它们如何联系起来等相关信息。 小结 离开了类之间的关系,类模型仅仅只是一堆代表领域词汇的杂乱矩形方框。关系说明这些词汇表达的概念之间的连接,这样才能完整地说明我们所建模的对象。关联是类之间最基础的概念性连接。关联的多重性说明了一个类的多少个对象能够和另一个类的单个对象发生联系。和类一样关联也可以有
您可能关注的文档
最近下载
- 并网光伏电站项目工程现场电气二次施工方案.doc
- 英语新课标背景下:非纸笔测试在小学英语期末评价中的实践研究.pdf VIP
- 液体伤口敷料产品技术要求标准2023版.docx VIP
- 股市实战绝技汇总篇(精华).doc VIP
- 历年行情的十大牛股.doc VIP
- 安徽省六校联考暨安徽六校教育研究会2026届高三入学素质检测-物理试卷答案.docx VIP
- 基于Ansys CFX的风扇叶片双向流固耦合分析.docx VIP
- (高清版)DB1307∕T 334-2020 蛋鸡无抗养殖技术规范.pdf VIP
- 中小学教育班班通系统校级解决方案.doc VIP
- 涉税检举奖励制度的运行问题...于68份裁判文书的考察分析_金超.pdf VIP
文档评论(0)