`
darrenzhu
  • 浏览: 804455 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UML中的关系详解

阅读更多
依赖,关联,聚合,组合 阐述的是对象之间一种由弱到强的关系
弱                                      强
---------------------------------------->
UML中关系的符合定义



下面的的类图给出了各种关系的案例,图截取自《大话设计模式》


泛化(Generalization)
父类子类之间的关系,泛化关系用空心三角形 + 实线箭头来表示。


实现接口
实现接口用空心三角形 + 虚线箭头来表示。


关联
当一个类“知道”另一个类时,并且两个类是平等的,无部分-整体之类的特殊关系时,可以用关联(association),通常表现为一个类是另一个类的属性,关联关系用实线或实线箭头表示。对于企鹅和气候两个类,企鹅与气候有很大关联,我们不去讨论为什么北极没有企鹅,为什么它每年要长途跋涉,总之,企鹅需要“知道”气候的变化,需要了解“气候”的规律,它们之间就是一种关联关系。



聚合(Aggregation)
表示类之间的关系是“整体-部分”的关系,但表达的是一种弱的“拥有”关系。聚合关系用空心的菱形 + 实线箭头来表示。


组合(Composition)
是一种特殊的聚合关系,是一种强的“拥有”关系,每个部分只能属于一个整体,部分和整体生命周期一样(如果说成整体和部分生命周期一样应该是不正确的,不要说反了)。
组合关系用实心的菱形 + 实线箭头来表示,关系的两端还有数字,称为基数,表示关系的这一端的类可以由几个实例,很显然鸟应该有2个翅膀,如果一个类可以由无数个实例,用n来表示。关联关系,聚合关系也是可以由基数的。


依赖(Dependency)
对象之间的临时关系,临时性体现在不超越方法的周期。简单的说,在方法使用到的,如参数类,就一定是依赖关系。在类图中,使用依赖线描述对象之间的全局变量,参数变量,局部变量和静态方法(对其他类的静态方法加以调用)的依赖。

一个事物(独立事物)发生变化会影响使用它的另一个事物(依赖事物),但反之则不然。箭头指向独立事物。

动物需要水,氧气以及食物等,也就是说动物依赖水,氧气,它们之间是依赖关系,用虚线箭头表示。




组合关系是一种强类型关系,表示部分与整体共存亡,整体和部分有一个不存在,另一个也就不应存在,因此类与类之间的耦合度比较高,而聚合关系表示的是一种弱类型关系,整体和部分都可以单独存在。
案例:鸟儿和鸟儿翅膀之间的关系为组合关系,雁群和大雁之间为聚合关系。

另外两个比较重要的关系是关联和依赖:
关联:简单的可以认为,如果一个类作为了另外一个类的属性,那一定是关联关系。但你要知道,聚合是一种特殊的关联,而组合又是一种特殊的聚合。一般的关联我们认为是平级的、无整体部分关系的,如朋友关系。

关联和聚合的区别主要在语义上,关联的两个对象之间一般是平等的,例如你是我的朋友,聚合则一般不是平等的,例如一个公司包含了很多员工,其实现上是差不多的。

聚合和组合的区别则在语义和实现上都有差别,组合的两个对象之间其生命期有很大的关联,被组合的对象是在组合对象创建的同时或者创建之后创建,在组合对象销毁之前销毁。一般来说被组合对象不能脱离组合对象独立存在,而且也只能属于一个组合对象,例如一个文档的版本,必须依赖于文档的存在,也只能属于一个文档。聚合则不一样,被聚合的对象可以属于多个聚合对象,例如一个员工可能可以属于多个公司。
  • 大小: 33.8 KB
  • 大小: 277.4 KB
  • 大小: 52.3 KB
  • 大小: 39 KB
  • 大小: 57.1 KB
  • 大小: 35.5 KB
  • 大小: 134.8 KB
  • 大小: 86.4 KB
分享到:
评论

相关推荐

    UML建模讲义,UML各种图详解

    UML(Unified Modeling Language)是一种标准化的统一建模语言,用于软件开发中的可视化建模,特别是在面向对象分析与设计(OOAD)中扮演着核心角色。UML通过一系列图形表示法,帮助开发者清晰地表达软件设计的各个...

    UML建模实例详解

    - **类图(Class Diagram)**:UML中的类图展示了系统的静态结构,包括类、接口、关联、泛化(继承)和依赖关系等。 - **对象图(Object Diagram)**:类图的实例,显示了特定时刻系统中对象的状态和相互关系。 -...

    uml用例试图详解

    **UML用例视图详解** UML(统一建模语言)是软件开发过程中广泛使用的建模工具,它提供了一种标准化的方式来描述系统的结构和行为。在UML中,用例视图是系统需求分析阶段的关键组成部分,它主要用于描绘系统与外部...

    UML建模实例详解(教你使用UML)

    通过学习和实践《UML建模实例详解》中的案例,读者将掌握如何运用这些图表来有效地表达系统设计,提高团队之间的理解和协作。书中的每个图例都可能是一个复杂问题的简化表示,通过实例解析,可以帮助读者逐步建立起...

    UML类图各种关系详解

    UML类图各种关系详解 包括 继承 实现 聚合 等等 一张图道出类之间的各种关系 直观容易

    UML2.0中的14种图详解

    UML 2.0 中的 14 种图详解 UML(Unified Modeling Language)统一建模语言,是面向对象软件的标准化建模语言。UML 2.0 共包括 14 种图形,大致分成静态图和动态图两类。最常用的 UML 图包括:用例图、类图、组件图...

    UML用例图中关系详解

    UML中用例图:包含、扩展、泛化三种关系详解。在设计的时候可以参考一下。

    UML类图说明类图关系

    ### UML类图关系详解 #### 一、引言 统一建模语言(Unified Modeling Language,简称UML)是一种广泛使用的图形化语言,用于软件工程的设计、开发和维护。其中,UML类图是用于描述系统中类的静态结构的重要组成...

    六大UML类图以及关系

    ### UML类图关系详解 #### 一、引言 UML(Unified Modeling Language,统一建模语言)是一种广泛应用于软件工程领域的图形化语言,它帮助开发者理解和设计系统。其中,UML类图是最常用的一种图示方式,用于描述系统...

    UML类图与类的关系详解

    **UML类图与类的关系详解** UML(Unified Modeling Language),统一建模语言,是软件开发中一种用于可视化和表达系统设计的图形表示法。类图是UML中的核心概念,它描述了系统中类的结构和它们之间的关系。在理解和...

    UML-详解建模实例

    在《UML——详解建模实例》这本书中,作者通过丰富的实例详细解释了UML的各种元素和应用场景。以下是对书中部分关键知识点的概述: 1. **UML的基本元素** - **类(Class)**: 表示系统中的对象类型,包括属性、...

    UML详解

    1. **类图(Class Diagram)**:这是UML中最基本的图表类型,用于表示系统中的类、接口以及它们之间的关系,如继承、关联、依赖等。类图可以帮助我们理解系统的静态结构。 2. **对象图(Object Diagram)**:对象图是...

    UML类图关系大全

    ### UML类图关系详解 #### 一、引言 UML(Unified Modeling Language,统一建模语言)是一种广泛应用于软件工程领域的图形化规范,用于描述软件系统的结构和行为。UML类图作为UML中的一种重要图表类型,主要用于...

    UML图内容详解解释

    **二、UML中的类图详解** 类图是UML中最基本的图之一,用于描绘类之间的关系、属性和操作。 1. **类的表示**:类在UML中用一个矩形表示,矩形分为三个部分:顶部显示类名,中间列出属性,底部列出操作。如果只关注...

    UML关系

    UML关系是UML模型中的核心概念,它定义了模型元素之间的连接,帮助我们理解系统的结构和行为。在本篇文章中,我们将深入探讨UML中的几种主要关系,包括关联、依赖、泛化、实现以及组合和聚合。 1. **关联关系**: ...

    UML-类图详解.doc

    "UML-类图详解" UML 类图是 UML 的静态机制中一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。类图显示了一组类、接口、协作以及他们之间的关系。 一、类的定义 类是具有相似结构、行为和关系的...

    UML各种图详解.doc

    UML(统一建模语言)是软件开发中的一种标准化建模工具,用于描绘系统的各种视图,以清晰地表达软件和系统的架构、行为和关系。本文将深入探讨UML中的两种重要图表:用例图和类图。 用例图是UML中用于捕获系统功能...

    UML 建模 用例图 类图 序列图详解文档打包下载

    - 类图是UML中最常用的图表之一,它展示了系统的静态结构,包括类、接口、对象及其相互关系。 - "类"是具有属性、操作和关系的数据结构,"接口"定义了一组方法,而"关联"、"继承"和"聚合"等关系揭示了类之间的联系...

    UML四种关系

    ### UML四种关系详解 #### 一、引言 统一建模语言(Unified Modeling Language,简称UML)是一种用于软件工程领域的图形化语言,旨在帮助软件开发者构建清晰、直观的系统模型。在UML中,关系是描述不同类之间相互...

Global site tag (gtag.js) - Google Analytics