`

UML类图中的关系

    博客分类:
  • UML
阅读更多

UML类图中的关系分为四种:泛化、依赖、关联、实现;关联关系又可以细化为聚合和组合。

1. 泛化(Generalization

泛化是父类和子类之间的关系,子类继承父类的所有结构和行为。在子类中可以增加新的结构和行为,也可以覆写父类的行为。



 

 

2. 依赖(Dependency

依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的事物,反之不成立。在你想显示一个事物使用另一个事物时使用。

通常情况下,依赖关系体现在某个类的方法使用另一个类作为参数

如果模块A调用模块B提供的方法,或访问模块B中的某些数据成员(当然,在面向对象开发中一般不提倡这样做),我们就认为模块A依赖于模块B,模块A和模块B之间发生了耦合。
 



 

 

3. 关联(Dependency

关联是一种结构化的关系,指一种对象和另一种对象有联系。给定有关联的两个类,可以从一个类的对象得到另一个类的对象。关联有两元关系和多元关系。两元关系是指一种一对一的关系,多元关系是一对多或多对一的关系。一般用实线连接有关联的同一个类或不同的两个类。当你想要表示结构化关系时使用关联。

关联关系是通过类的成员变量 来实现的。



 

 

3.1 聚合(Aggregation

聚合是一种特殊的关联。它描述了“has a”关系,表示整体对象拥有部分对象。

关联关系和聚合关系来语法上是没办法区分的,从语义 上才能更好的区分两者的区别。聚合是较强的关联关系,强调的是整体与部分 之间的关系。

与关联关系一样,聚合关系也是通过类的成员变量来实现的。



 

 

3.2 组合(Composition

组合是聚合的一种形式,它具有更强的拥有关系,强调整体与部分的生命周期 是一致的。整体负责部分的生命周期的管理。如果整体被销毁,部分也必须跟着一起被销毁,如果所有者被复制,部分也必须一起被复制。

与关联关系一样,组合关系也是通过类的成员变量 来实现的。

 

 

聚合和组合的区别在于:聚合关系是“has-a”关系,组合关系是“contains-a”关系;聚合关系表示整体与部分的关系比较弱,而组合比较强;聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。

4. 实现(Realization

实现关系指定两个实体之间的一个合约。换言之,一个实体定义一个 合约 ,而另一个实体保证履行该 合约



 

 

类间关系有很多种,在大的类别上可以分为两种:纵向关系、横向关系。

纵向关系就是继承关系,它的概念非常明确,也成为OO的三个重要特征之一,这里不过多的讨论。

横向关系较为微妙,按照UML的建议大体上可以分为四种:

依赖    Dependency

关联    Association

聚合    Aggregation

组合    Composition

它们的强弱关系是没有异议的:依赖 < 关联 < 聚合 < 组合<泛化(继承)

在UML系统开发中有三个主要的模型:
  功能模型: 从用户的角度展示系统的功能,包括用例图。
  对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图。
  动态模型: 展现系统的内部行为。 包括序列图,活动图,状态图。

  • 大小: 4.4 KB
  • 大小: 7.7 KB
  • 大小: 7.5 KB
  • 大小: 6.2 KB
  • 大小: 8 KB
  • 大小: 18.9 KB
分享到:
评论

相关推荐

    六大UML类图以及关系

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

    UML类图在关系数据库中的实现

    ### UML类图在关系数据库中的实现 #### 概述 在关系数据库设计过程中,实体关系模型(ER模型)作为一种标准方法被广泛采用以创建数据库的逻辑模型。然而,随着业务需求的日益复杂以及对数据模型灵活性的需求提高,...

    UML类图中的类 抽象类,具体类,主动类等

    综上所述,UML类图中的类是系统建模的关键元素,它们通过抽象类和具体类的区分来表达层次结构,通过主动类和非主动类来描述行为发起者和接收者。属性和操作则构成了类的核心特性,帮助我们理解和设计系统的结构和...

    JDK UML 类图大全

    在JDK中,UML类图可以帮助我们理解和分析Java类库的结构,包括类、接口、继承关系、关联、聚合和组合等。 **类图的基本元素** 1. **类(Class)**: 类图的核心元素,表示具有共同属性、操作和关系的一组对象。在...

    UML类图的各符号含义及表示

    9. 基数(Multiplicity):在关联、聚合和组合关系中,基数表示一个类的实例可以有多少个对应实例,用数字表示。例如,一个鸟有两只翅膀,基数可以写作"1..2"。 UML类图中的关系分为五种: - 关联(Association):...

    UML类图关系大全

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

    UML类图说明类图关系

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

    计算器 UML类图 c++

    在IT行业中,UML(统一建模语言)是一种标准的...学习这个案例,你可以了解如何将业务逻辑转化为UML类图,再将类图转换为实际的C++代码。这有助于提升你对面向对象编程的理解,同时也能掌握UML在软件工程中的实际应用。

    spring源码全部uml类图

    在"spring源码全部uml类图"中,我们可以深入探讨Spring框架的内部结构和设计模式。 首先,Spring框架的核心组件包括IoC(Inversion of Control,控制反转)容器和AOP(Aspect-Oriented Programming,面向切面编程)...

    eclipse画UML类图的jar包.zip

    UML类图是UML中的核心元素,它用于表示系统的静态结构,包括类、接口、继承关系、关联关系等。 这个压缩包包含以下三个文件: 1. net.java.amateras.xstream_1.3.4.jar:这是一个基于XStream库的Java类,用于对象...

    从UML类图到关系数据库表的代码生成方法

    在自动生成关系数据库表的过程中,需要遵循一定的映射规则,将UML类图中的各个元素转换为关系数据库表的组成部分。 1. 类映射为表:UML类图中的每一个类应该映射成关系数据库中的一个表。 2. 属性映射为字段:类的...

    UML类图关系大全!!!!!

    在这个“UML类图关系大全”中,我们将深入探讨类图中的各种关系,帮助你全面理解这些概念。 首先,我们要了解类图的基本元素:类、接口和对象。类是具有属性、操作和关系的实体模型,接口定义了类必须实现的一组...

    UML类图中的接口与接口实现

    ### UML类图中的接口与接口实现 #### 一、接口的概念 在统一建模语言(UML)中,接口(Interface)是一个重要的概念,它主要用于描述系统内部或系统之间如何进行交互。根据UML规范(UML Infrastructure ...

    网上书店UML类图建模

    在网上书店系统中,我们可以使用UML类图来描述系统中的类和对象之间的关系,例如,customer类、employee类、Administrator类等,这些类之间的关系可以通过继承、关联、继承等关系来描述。 2.Rose或Visio 建模工具:...

    UML中类图实例讲解关系

    UML类图关系讲解 ...UML类图关系讲解了类图中的各种关系,包括继承关系、实现关系、关联关系、聚合关系、合成关系和依赖关系等。这些关系都是UML类图的基本组成部分,用于描述类和对象之间的关系。

    UML类图-关系数据库之间的映射[收集].pdf

    UML类图是面向对象程序设计中的标准建模技术,在关系数据库系统的设计过程中,我们可以先利用UML建立商业模型,然后将其映射成表。本文主要讨论如何将UML类图中的类映射成表的策略。 UML类图中的类映射成表的策略...

    UML类图几种关系的总结

    在这些关系中,强度依次递减的顺序大致为:泛化 = 实现 &gt; 组合 &gt; 聚合 &gt; 关联 &gt; 依赖。这一排序有助于我们在设计类图时理解各个关系的重要性,并选择最合适的表示方式来清晰地表达系统的设计意图。 通过对以上六种...

    图书管管理系统UML类图

    UML类图是UML中的静态结构模型,它主要展示了系统的类、接口、协作以及它们之间的关系,如继承、关联、依赖等。在图书管理系统中,类图将帮助我们清晰地定义各类对象及其属性和操作。 图书管理系统的核心类可能包括...

    登录图UML类图.zip

    本文将深入探讨"登录图"在UML类图中的应用,以及如何通过类图来描绘和理解复杂的系统结构。 首先,UML类图是UML中的核心元素之一,它提供了一种图形化的方式来表示系统的静态结构。类图展示了类、接口、对象之间的...

    UML类图画法全程解析

    在UML类图中,主要元素包括: 1. 类(Class):类是一个复杂的数据类型,包含数据(属性)和操作(方法)。在UML图中,类通常用三层矩形表示,第一层写类名,第二层列属性,第三层列方法。类的访问修饰符(public、...

Global site tag (gtag.js) - Google Analytics