网站大量收购闲置独家精品文档,联系QQ:2885784924

面向对象的概念与UML.ppt

  1. 1、本文档共141页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

多元关联是指3个或以上类之间的关联。多元关联由一个菱形,以及由菱形引出的通向各个相关类的直线组成,关联名可标在菱形的旁边,在关联的端点也可以标上多重性等信息。b)限定关联限定关联通常用在一对多或多对多的关联关系中,可以把模型中的多重性从一对多变成一对一,或将多对多简化成多对一。方式一是在类图中关联关系的下方加约束;方式二是在类图中把限定词(Qualifier)放在关联关系末端的一个小方框内。限定关联的例子*teacherstudent1*教师教课CourseIDcourse学生选课教师教学生1*限定类目标类关联类*关联关系是两个类之间的语义连接。在比较简单的情况下,关联关系的语义用关联关系的名字来概括。但在某些情况下,需要对关联关系的语义做详细的定义、存储和访问,为此可以建立关联类(AssociationClass),描述关联的属性。关联中的每个链与关联类的一个实例相联系。关联类通过一条虚线与关联连接.*employee关联类employercompany01descriptiondateHiredsalary102jobperson03聚合(aggregation)*也称为聚集,它描述了整体和部分之间的结构关系。需求陈述字句中,若出现包含、组成、分为……部分等,意味存在聚合关系。除了一般聚合之外,还有两种特殊聚合关系:共享聚合(SharedAggregation)和复合聚合(CompositionAggregation)。聚合关系中处于部分方的实例可同时参与多个处于整体方实例的构成,则该聚合称为共享聚合。例如,一个剧组包含许多演员,每个演员又可以是其他剧组的成员,则是共享聚合关系,如图(a)所示。聚合和共享聚合的图示符号是在表示关联关系的直线末端紧挨着整体类的地方画一个空心菱形。010302例如,在屏幕上的窗口与其所属的按钮之间的关联即为复合聚合,它们有相同的生存周期。参看图(b),在复合聚合关系中整体方的菱形为实心菱形。如果部分类完全隶属于整体类,部分类需要与整体类共存,一旦整体类不存在了,则部分类也会随之消失,或失去存在价值,则这种聚合称为复合聚合.导航(Navigability)是关联关系的一种特性,它通过在关联的一个端点上加箭头来表示导航的方向。*3.泛化(Generalization)一般(Generalization)类和特殊(Specialization)类之间的继承关系。特殊类完全拥有一般类的信息,并且还可以附加一些其他信息。一般类亦称泛化类,特殊类亦称特化类。图形表示,用一端为空心三角形的连线表示泛化关系,三角形的顶角紧挨着一般类。注意,泛化针对类型而不针对实例,因为一个类可以继承另一个类,但一个对象不能继承另一个对象。泛化可进一步划分成普通泛化和受限泛化两类。普通泛化普通泛化与前面讲过的继承基本相同。但要了解的是,在泛化关系中常遇到一个特殊的类——抽象类。一般称没有具体对象的类为抽象类。抽象类通常作为父类,用于描述其他类(子类)的公共属性和行为。在图形上,抽象类的类名下附加一个标签值{abstract}。如图3.23所示。图下方的两个折角矩形是注释,分别说明了两个子类的drive操作功能。抽象类中的操作仅用于指定它的所有具体子类应具有的行为。这些操作在每个具体子类中有其具体的实现。每个具体子类可创建自己的实例。(多态性)2)受限泛化受限泛化关系是指泛化具有约束条件。预定义的约束有4种:交叠(Overlapping)、不相交(Disjoint)、完全(Complete)和不完全(Incomplate)。这些约束都是语义约束。一个一般类可以从不同的方面将其特化成不同的特殊类集合。01参看图3.25的例子,从性别角度,人可以分为男人和女人,这覆盖了人的所有性别(约束是“完全的”),并且是互斥的(约束是“不相交”的)。从职业角度,人又可以分为教师、医生,并未覆盖人的所有职业(约束是“不完全的”),而且允许一个人有多个职业,如医科大学的教师也可以是医生(约束是“交叠”的)。02EventConsoleWindowDialogBoxControlWindowopen()close()move()display()handleEvent()泛化关联依赖实现(Realization)实现是泛化关系和依赖关系的结合,以下两种情况出现实现关系:接口和实现它们的类或构件之间。用例和实现它们的协作之间。在UML中,实现关系用带有空心箭头的虚线表示。模型中主要的图形元素*节点包注释泛化实现状态

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档