UML的关系
UML中的各种关系的表示和箭头指向

1、依赖关系2、继承关系3、聚合关系4、合成(组合)关系5、关联关系6、接口一、依赖:虚线箭头。
有箭头的那一端为被依赖关系。
代码体现:在一个类中,某个方法的参数为另外一个类(或几个类)的类型。
pblicclassA { public int Sales(classBclsB){} REM sales是classA中的一个函数}二、继承:空心三角+实线表示。
有三角的那端为被继承者。
代码体现:一个类在声明的时候后面加“:”和被继承类的类名。
例如:classbird:animal.三、聚合:空心菱形+实线箭头。
箭头那端为被包含的对象。
即对象A可以包含对象B,但是对象B不一定是对象A的一部分。
代码体现:在一个类中有另一个类的对象,而且可以使对象数组。
public class classA { public classB() clsB }四、合成(组合):实心菱形+实线箭头。
箭头那端为被组合的对象。
代码体现:在A类中,初始化时,实例化B类。
它们同时生成。
(如何生成A类?)。
public class classA { private classBclsB { clsB=new classB(); } }五、关联:实线箭头。
箭头那端表示被引用的对象。
一个类要知道另一个类。
代码体现:在一个类中,引用到另一个类。
(如何引用类?)例如: class class1 { private class2 cls1; }六、接口:空心三角+虚线。
三角那端是定义接口类。
代码体现:定义一个类的时候加“:”和接口名。
在类中重写接口中的方法。
UML之用例图箭头方向2009年10月16日星期五09:42 P.M. UML之用例图(use case)箭头方向:老是忘记箭头方向,惹笑话。
1、Association,无箭头,Actor连接UseCase即可;2、DirectedAssocition,Actor连接UseCase,箭头由Actor指向UseCase(角色指向用例);3、Generalization,继承,我把它念成“继承于”,当然是箭头由子指向父啦;4、Dependency,我念成“依赖于”,就知道箭头方向了;5、Include,我念成“包含了”,箭头由包含者指向被包含者;6、Extend,我念成“扩展于”或“扩展自”,箭头由扩展出来的“子”指向它的“父”;总结:除了包含方向外,其它都是“小”的指向“大”的,“子”指向“父”,“一般”指向“抽象”。
UML中的四种关系总结

UML中的四种关系总结UML中的关系主要包含四种:关联关系、依赖关系、泛化关系、实现关系。
当中关联关系还包含聚合关系和组合关系。
1、关联关系(Association)关联关系式⼀种结构化的关系,是指⼀种对象和还有⼀种对象有联系。
给定关联的两个类。
能够从当中的⼀个类的对象訪问到还有⼀个类的相关对象。
关联关系⽤⼀条实线表⽰。
演⽰样例1.1、聚合关系(Aggregation)聚合是关联的特例。
聚合是表⽰总体与部分的关系,即has a 关系。
聚合关系中的总体和部分是能够分离的,他们能够具有各⾃的⽣命周期,部分能够数据多个总体对象。
演⽰样例1.2、组合关系(Composition)组合关系式关联关系的⼀种特例。
他体现的是⼀种contains a的关系。
这样的关系⽐聚合更强。
它相同也体现了总体与部分的关系。
此时总体与部分是不可分的,总体的⽣命周期结束也就意味着部分的⽣命周期结束。
演⽰样例`2、依赖关系(Dependency)依赖关系式类与类之间的连接,表⽰⼀个类依赖于还有⼀个类的定义。
当中⼀个类元素是独⽴的,还有⼀个类元素不是独⽴的,它依赖与独⽴的那个类。
假设独⽴的类改变,将影响依赖与它的那个类。
演⽰样例3、泛化关系(Generalization)泛化关系式⼀个类(⼦类、⼦接⼝)继承另外⼀个类(⽗类、⽗接⼝)的功能。
⼦类还能够添加⾃⼰的新功能。
继承是类与类或者接⼝与⼏⼝之间最常见的关系之中的⼀个。
4、实现关系(Realization)实现关系指的是⼀个class类实现interface接⼝(能够是多个)的功能;实现是类与接⼝之间最常见的关系。
演⽰样例:⽐較聚合关系VS组合关系组合跟聚合差点⼉同样,唯⼀差别就是“部分”不能脱离“总体”⽽单独存在。
关联关系VS聚合关系关联关系中两个类是出于同样的层次。
⽽聚合关系中两个类是出于不平等的层次,⼀个表⽰总体,⼀个表⽰部分。
简述uml用例间的关系

简述uml用例间的关系UML(Unified Modeling Language)是一种用于软件开发的建模语言,它提供了一种标准的图形化表示方法,用于描述系统的结构、行为和交互。
在UML中,用例图是一种常用的图形化表示方式,用于描述系统的功能需求和用户与系统之间的交互。
用例间的关系是指不同用例之间的相互关联和影响。
在UML中,用例间的关系有以下几种:1. 包含关系(Include):表示一个用例包含另一个用例的功能。
当一个用例需要借用其他用例的功能时,可以使用包含关系来表示。
例如,一个购物车用例可能包含了添加商品、移除商品和结算等子用例。
2. 扩展关系(Extend):表示一个用例可以在特定条件下扩展另一个用例的功能。
当一个用例的某个功能在特定条件下可以被扩展时,可以使用扩展关系来表示。
例如,一个支付用例可以在用户选择使用优惠券时扩展结算用例的功能。
3. 泛化关系(Generalization):表示一个用例是另一个用例的特殊情况或特化。
当一个用例继承了另一个用例的功能,并且在此基础上添加了新的功能时,可以使用泛化关系来表示。
例如,一个在线购物系统中的用户登录和游客购物两个用例可以通过泛化关系来表示,游客购物是用户登录的特殊情况。
4. 关联关系(Association):表示不同用例之间的关联和交互。
当一个用例需要与其他用例进行交互时,可以使用关联关系来表示。
例如,在一个社交网络系统中,用户发布动态和用户评论动态两个用例可以通过关联关系来表示。
5. 依赖关系(Dependency):表示一个用例依赖于另一个用例。
当一个用例的实现依赖于其他用例时,可以使用依赖关系来表示。
例如,在一个在线购物系统中,购物车结算用例依赖于查看购物车用例。
6. 一般化关系(Realization):表示一个用例实现了另一个用例的功能。
当一个用例实现了另一个用例定义的接口和行为时,可以使用一般化关系来表示。
例如,一个在线支付系统可以实现支付用例定义的支付接口和行为。
请简述uml中四种基本关系的含义和作用

请简述uml中四种基本关系的含义和作用UML(Unified Modeling Language)是一种用于软件系统建模的标准语言。
在UML中,有四种基本关系,分别为依赖关系、关联关系、聚合关系和组合关系。
下面将对每种关系的含义和作用进行详细的解释。
1.依赖关系:依赖关系表示一个类的改变会引起另一个类的改变,但是两个类之间的关系不是强依赖的。
在依赖关系中,一个类需要另一个类的一些功能或资源才能完成自己的任务。
依赖关系通常体现在方法参数、方法返回值、方法中的局部变量或静态方法的调用等方面。
作用:-解耦:依赖关系可以降低类之间的依赖程度,提高系统的灵活性和可维护性。
-重用:通过依赖关系,一个类可以复用另一个类的功能,提高代码的重用性。
-扩展:通过依赖关系,一个类可以使用另一个类的功能,使得系统可以更方便地进行扩展和演化。
2.关联关系:关联关系表示类与类之间的连接,用于描述类之间的结构性的、静态的关系。
在关联关系中,一个类对象可以通过引用来使用另一个类对象的功能和资源。
关联关系一般是双向的,可以是单向的、双向的或自反的。
作用:-数据共享:通过关联关系,类可以共享另一个类的数据,实现数据的共享和交流。
-在系统的结构设计中起到桥梁作用:关联关系可以用于描述系统的结构,帮助开发人员对系统进行设计和实现。
3.聚合关系:聚合关系表示整体与部分之间的关系,它是一种弱的关联关系。
在聚合关系中,整体对象可以包含部分对象,但是部分对象的生命周期可以独立于整体对象而存在。
作用:-描述整体与部分之间的关系:聚合关系可以用于描述整体与部分之间的关系,帮助开发人员更好地理解系统的结构。
-组织和结构化数据:通过聚合关系,可以将对象进行组织和结构化,使得数据的管理更加便捷。
4.组合关系:组合关系也表示整体与部分之间的关系,但是它是一种强的关联关系。
在组合关系中,整体对象包含了部分对象,同时部分对象的生命周期与整体对象的生命周期相同。
uml 组合关系

uml 组合关系组合关系是面向对象编程中的一种关系,用于描述两个类之间的关联关系。
在组合关系中,一个类(被称为整体类)包含另一个类(被称为部分类)的对象作为其组成部分。
组合关系是一种强关联关系,是一种拥有关系。
这种关系是一种包含关系,整体对象与部分对象之间具有相同的生命周期。
整体对象负责部分对象的创建、初始化、销毁等管理工作。
整体对象对部分对象的引用是一对多的关系,一个整体对象可以包含多个部分对象。
在UML(统一建模语言)中,组合关系通常使用实心菱形箭头表示,箭头指向整体对象。
这种箭头表示整体对象包含部分对象。
组合关系的例子可以是一个图书馆类和书籍类的关系。
图书馆是整体对象,书籍是部分对象。
一个图书馆可以包含多本书籍,但是一本书籍只属于一个图书馆。
图书馆负责管理书籍的借阅、归还、维护等操作。
组合关系还可以是一个汽车类和发动机类的关系。
汽车是整体对象,发动机是部分对象。
一个汽车包含一个发动机,汽车负责控制发动机的启动、熄火、加速等操作。
在组合关系中,整体对象可以通过部分对象的公共接口来操作部分对象。
整体对象可以创建部分对象,并在需要时销毁部分对象。
部分对象的生命周期由整体对象控制。
组合关系还可以嵌套使用,即一个部分对象可以包含另一个部分对象。
这种嵌套的组合关系可以形成一个复杂的整体对象。
需要注意的是,组合关系是一种强关联关系,整体对象与部分对象之间的关系是紧密的、不可分割的。
整体对象的销毁会导致部分对象的销毁。
因此,在设计和实现时需要仔细考虑整体对象和部分对象之间的关系,确保关系的正确性和一致性。
总结起来,组合关系是一种强关联关系,用于描述整体对象与部分对象之间的关系。
整体对象包含部分对象,并负责管理部分对象的生命周期。
组合关系在面向对象编程中具有重要的应用价值,可以帮助我们更好地组织和管理对象之间的关系,提高代码的可读性和可维护性。
10 UML类目关系

2泛化(generalization) 泛化( ) 定义: 定义: 泛化是一般性事物(称为超类或父类) 泛化是一般性事物(称为超类或父类)和它的较为特殊种类 (称为子类)之间的一种关系,有时称为“is-a-kind-of”关 称为子类)之间的一种关系,有时称为“is- kind-of 关 系。 4点说明: 点说明: 点说明 子类可继承父类的属性和操作,并可有更多的属性和操作; 子类可继承父类的属性和操作,并可有更多的属性和操作; 子类可以替换父类的声明; 子类可以替换父类的声明; 若子类的一个操作的实现覆盖了父类同一个操作的实现, 若子类的一个操作的实现覆盖了父类同一个操作的实现, 这种情况被成为多态性, 这种情况被成为多态性,但两个操作必须具有相同的名字 和参数。 和参数。
注:在大多数情况中,用类和接口之间的泛化来表明继承关系。在UML 在大多数情况中,用类和接口之间的泛化来表明继承关系。 中,也可在其他类目之间创建泛化,例如在结点之间。 也可在其他类目之间创建泛化,例如在结点之间。
表示: 表示: 分离表示法
共享表示法
3细化(realization) 细化( ) 定义:细化是类目之间的一种语义关系, 定义:细化是类目之间的一种语义关系,其中一个类目规 约了保证另一个类目执行的契约。 约了保证另一个类目执行的契约。 说明:在以下2个地方会使用实现关系: 说明:在以下2个地方会使用实现关系: •接口与实现它们的类和构件之间; 接口与实现它们的类和构件之间; •用况与实现它们的协作之间。 用况与实现它们的协作之间。 表示: 表示:
左图的限定符有一个属性account#,表明:在一个银行中, 左图的限定符有一个属性account#,表明:在一个银行中, account# 一个帐户对应一个用户,或没有对应人员。 一个帐户对应一个用户,或没有对应人员。 右图的限定符有两个属性,它们与Chessboard Chessboard一起确定了 右图的限定符有两个属性,它们与Chessboard一起确定了 Square, Square是其组成部分 是其组成部分。 Square,且 Square是其组成部分。
UML图中类之间的关系_依赖,泛化,关联,聚合,组合,实现答辩

UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现1.2.3.4.5.6.类与类图1 类(Class封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。
2 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。
一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法)。
3 类的属性即类的数据职责,类的操作即类的行为职责一、依赖关系(Dependence依赖关系(Dependence):假设A类的变化引起了B 类的变化,则说名B类依赖于A类。
• 依赖关系(Dependency 是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。
大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。
• 在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。
[java] view plaincopyprint?1. public class Driver2. {3. public void drive(Car car4. {5. car.move(;6. }7. ……8. }9. public class Car10. {11. public void move(12. {13. ......14. }15. ……16. }{car.move(;}……}public class Car{public void move({......}……}依赖关系有如下三种情况:1、A类是B类中的(某中方法的)局部变量;2、A类是B类方法当中的一个参数;3、A类向B类发送消息,从而影响B类发生变化;GeneralizationGeneralization A是B和C的父类,B,C具有公共类(父类)A,说明A是B,C的一般化(概括,也称泛化)• 泛化关系(Generalization也就是继承关系,也称为“is-a-kind-of”关系,泛化关系用于描述父类与子类之间的关系,父类又称作基类或超类,子类又称作派生类。
uml用例之间的关系

uml用例之间的关系UML(Unified Modeling Language)是一种用于软件系统建模的标准化语言,它可以通过图形化的方式描述系统的结构、行为和交互关系。
在UML中,用例是对系统功能的一种描述,用例之间的关系充满着指导和解释作用。
下面将具体介绍几种常见的用例之间的关系。
1. 包含关系(Includes):包含关系是一种用例之间的关系,表示一个用例包含了另一个用例的行为。
通常情况下,一个用例(被包含用例)在执行过程中会调用另一个用例(包含用例)来完成一部分功能。
例如,在一个购物系统中,用户下单时可能会调用一个包含了支付用例的用例。
2. 扩展关系(Extends):扩展关系也是一种用例之间的关系,表示一个用例可以在另一个用例的基础上进行扩展。
扩展用例在被扩展用例中定义了一些额外的行为,这些行为可以根据系统需求的变化来进行扩展。
例如,在一个社交网络系统中,用户发表动态的用例可以根据用户需求扩展为带有图片上传功能的动态。
3. 泛化关系(Generalization):泛化关系是一种用于表示继承关系的关系,用于描述一组具有共同特征的用例之间的关系。
泛化用例通常描述了一组具有相似功能的用例,并从中提取出了共同的特征,作为基础用例。
例如,在一个银行系统中,取款用例和存款用例可以被抽象为基本用例-交易用例,其共同的特征是对用户账户进行操作。
4. 关联关系(Association):关联关系是一种用例之间的关系,表示两个用例之间存在某种关联或依赖关系。
这种关联关系可以是双向的,也可以是单向的。
例如,在一个电子商务系统中,用户注册和登录用例可能存在关联关系,因为用户需要先注册才能登录系统。
综上所述,UML用例之间的关系对于系统分析与设计非常重要。
通过对用例之间的关系进行建模,可以帮助系统开发人员更好地理解系统的功能和行为,并指导团队的开发工作。
不同的用例关系表示了不同的依赖和交互方式,开发人员可以根据具体的需求情况选择适合的关系建模,以实现系统的需求和目标。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个类可以有零个到多个父类,没有父类且有一个 或多个子类的类被称为根类或基类。 没有子类的类被称为叶类。
如果在继承关系中,每个类只能有一个父类,则是单 继承。 如果一个类有多于一个的父类存在,则被称为多继承。
关系—关联关系
关联关系是一种结构关系,规定了一种事物的对象 可以与另一种事物的对象相连。 例如,雇员为公司工作,一个公司有很多部门,就 可以认为雇员和公司、公司和部门之间存在某种语 义上的联系,在类图模型中,就可以在类 Employee(雇员)和类Company(公司)、类 Company(公司)和类Department(部门)之 间建立关联关系。 关联关系的UML符号表示是一条实线。
关联关系中的相关术语和概念
导航 给定关联一端的对象能够容易并直接地得到另 一端的对象。 关联关系可以有方向,表示该关联被单方向使 用。 只在一个方向上可以导航的关联,被称为单向 关联;在两个方向上都可以导航的关联,被称 为双向关联。 单向关联关系的UML符号表示是一条带箭头的 实线,箭头方向表示了导航方向;双向关联关 系的UML符号表示是一条没有箭头的实线。
试描述图中2个类之间的关系,包括其多重性 的约束。其中,关联的角色名称是成员 (member)。图中的类是Committee (委员会)和Person(人)。
Committee 0..2
3..5 Person +member
一个委员会可以有3~5个成员,他们属于 “人”类,一个人可以参与0~2个委员会。
图中的jobID是关联的属性,给定一个 WorkDesk对象,并赋给属性jobID一个 对象值,就可以导航到零个或一个 Reterneditem对象。
关联关系中的相关术语和概念
接口说明符(Interface Specifier)
接口是用来规定类或组件服务的操作集。 每个类可以实现多个接口。但是,在与关联的 上下文中,目标类源类可能只选择对外展示部 分接口。 可以用语法 rolename:iname 来显式地说明角色的类型,iname是接 口名。
关联关系中的相关术语和概念
聚合关系
聚合关系是一种特殊的关联关系。
聚合表示类之间的关系是整体与部分的关系, 也即作为整体的对象拥有作为部分的对象。 在需求分析中,“包含”、“组成”、“分 为……部分”等描述经常被设计为聚合关系。 聚合关系的UML符号表示是一条带有空心菱 形头的实线。
在窗口系统中,一个对象Frame只属于一个对象 Window。这与简单的聚合关系相反,在简单的
聚合关系中,一个“部分”可以被几个“整体” 共享,例如,一面墙(对象Wall)可以是多个
房间(对象Room)的一部分。
关联关系中的相关术语和概念
关联类
在UML中,关联类是一个既具有关联属性又 具有类属性的建模元素。 关联类是具有类特征的关联、或具有关联特 征的类。 关联类的UML符号表示是用虚线连接到关联 关系上的类符号。 一个关联类只能连到一个关联上,因为关联 类本身是一个关联。
关联关系中的相关术语和概念
阶元(Multiplicity)
阶元表示有多少个对象参与该关联。 阶元表示参与关联的对象数目的上下界限制。 “0..n”代表0~∞,表示0个或任意多个, “1..n”代表1~n,表示1个或任意多个。 阶元可以用单个数字表示,例如“1”表示 一个, “2”表示两个。阶元也可以用连续 的或者不连续的数字表示,例如“0..2, 4..6, 8..*”表示除了3,7的任何数量的 对象。
GeometryItem 1 1..n point
polygon
Ellipse
Line
Square
Circle
关联关系中的相关术语和概念
组合关系
组合关系是聚合关系的一种形式,是一种特殊的聚合关系。 组合关系具有强拥有关系,而且“整体”与“部分”的生 命周期是一致的。 在一个组合关系中,一个对象一次只是一个组合的一部分。 在组合关系中,“整体”负责“部分”的创建与破坏。例 如,在一个Company(公司)系统中创建一个 Department(部门), Department必须依附于 Company,当破坏对象Company时,对象 Department也同时被破坏。 组合关系的UML符号表示是一条带有实心菱形头的实线。
一个运动员在一个时期内只能效力于一个 运动队 。
运动员 1..n 效力于 1 运动队
运动员和运动队是依赖关系 。
公司
部门
职员
部门经理
用UML图形表示一组几何对象。组中的父类叫做“几何单 项”(Geometry Item),由此衍生出线(Line)、圆 (Circle)、正方形(Square)、椭圆(Ellipse)和多边 形(Polygon)子类。椭圆有两个焦点,它们重合时就成 了圆。正方形是多边形的一种。所有的GeometryItem都 是由点(Point)组成的。
类Person可以实现多个接口:IManager, IEmployee等,在supervisor与worker之间 有一对多的关联关系, supervisor只呈现了 IManager的接口给worker, worker 只呈现 了IEmployee的接口给supervisor 。
ቤተ መጻሕፍቲ ባይዱ
关系—实现关系
关系—类属关系
类之间的类属关系表示子类继承一个或多个 父类的结构与行为。类属关系描述了类之间 的“是一种”(is-a-kind-of)的关系,类 属关系用来连接一般类与特殊类,用来描述 父类与子类或父与子的关系,子类继承父类 的特性,尤其是属性和操作。 类属关系的UML符号表示是带空心箭头的 实线,箭头指向父元素。
关系—关联关系
可以应用于关联关系的四种基本修饰是:
名称:描述关系的性质。 角色:关联中靠近它一端的类对另外一端的 类呈现的职责。 阶元(Multiplicity):说明一个关联的实 例中有多少个相互连接的对象。 聚合(Aggregation):整体对象拥有部分 对象。
关联名通常是一个动词或动词词组,用 来表示关联关系的类型或目的。所选择 的关联名应该有助于理解该模型。
点 n
以UML图形表示下列关系,并指出 下列关系是哪种关系?
一个图形对象是一段正文、一个几何对象或是 一个组合对象 。
图形对象
组合对象
0..n 正文 0..n 几何对象
图形对象和正 文、几何对象 或组合对象是 类属关系,组 合对象和正文、 几何对象是聚 合关系 。
以UML图形表示下列关系,并指出 下列关系是哪种关系?
类Person和类Company之间的关联 关系,是一条没有箭头的实线,所以是 双向关联。给出Company,就能找出 所有的Person;给出Person,就能 发现它所属的Company。
有时候需要限制导航的方向为单向。给定 一个User,可以发现相应的Password; 但给定一个Password,并不希望发现 相应的User。所以用单向关联来表示他 们之间的关系,用箭头表示导航方向。
关联关系中的相关术语和概念
可见性(Visibility)
如果在两个类之间存在关联关系,一个类的对象就 可以看见并导航到另一个类的对象,除非有所限制, 如限制导航为单向导航。 某些情况下,需要限制关联外部的对象对于该关联 的可见性。 在UML中,通过对角色名附加可见性符号,可以为 关联端规定公共可见性和私有可见性。如果没有标 出可见性,角色的缺省可见性是公共的。公共可见 性表示对象可以被关联外的对象访问,私有可见性 表示对象不能被关联外的任何对象访问。
关联关系中的相关术语和概念
限定符(Qualifier)
限定符是属性或属性列表,这些值用来划分与 某个对象通过关联关系连接的的对象集。限定 符是这个关联的属性。 限定符的UML符号表示是用与关联一端的小
矩形表示,将属性放在小矩形中。
源对象连同限定符的值一起就可以确定一个目 标对象(如果目标阶元是1)或目标对象集(如 果目标阶元大于1) 。
UML的关系
依赖(Dependency)关系 类属(Generalization)关系 关联(Association)关系 实现(Realization)关系
关系—依赖关系
依赖关系描述了类之间的使用关系。 如果一个模型元素发生变化会影响另一个模 型元素(这种影响不必是可逆的),那么就 说在这两个模型元素之间存在依赖关系。 例如:有两个元素X、Y,如果修改元素X 的定义会引起对元素Y的定义的修改,则称 元素Y依赖于元素X。
关系—依赖关系
依赖关系 的UML符 号表示是 带箭头的 虚线,指 向被依赖 的模型元 素。
关系—依赖关系
在类图中,依赖可以由许多原因引起,例如, 一个类向另一个类发送消息(也即,一个类 的操作调用另一个类的操作),或者一个类 是另一个类的数据成员,或者一个类是另一 个类的某个操作参数,那么就可以说这两个 类之间存在着依赖关系。 语义上,所有的关系(包括关联关系、类属 关系、实现关系)都是各种各样的依赖关系, 因为这3种关系具有很重要的语义,所以在 UML中被分离出来成为独立的关系。
关联关系中的相关术语和概念
角色(Role)
当类参加关联关系时,类在关联关系中 扮演一个特定的角色。关联两头的类都 以某种角色参与关联。 如果在关联中没有标出角色名,则隐式 地表示用类的名称作为角色名。
类Company以Employer(雇主)的角 色参加关联,而类Person则以Employee (雇员)的角色参加关联。 Employer和 Employee被称为类的角色名。
关系—类属关系
在解决复杂性问题时,通常需要将具有共同特性 的元素抽象成类别,并通过增加其内涵而进一步 分类。例如,学生可以分为大学生、中学生和小 学生,火车可以分为客运列车和货运列车。 在面向对象方法中,将前者称为一般元素、基类 元素或父元素,将后者称为特殊元素或子元素。 类属关系描述了一般事物和该事物较为特殊的种 类之间的关系,也即父元素与子元素之间的关系。