[ZT]泛化,关联,聚合,合成,依赖的关系 收藏
泛化,关联,聚合,合成,依赖的关系
泛化(Generalization):
一句话,就是继承的表示。是is-a的关系。
表现为继承或实现关系(is a)。具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类对接口的实现关系。
关联(Association):
用于描述类与类之间的连接,是has -a的关系。类与类之间的联接,它使一个类知道另一个类的属性和方法。例如如果A依赖于B,则B体现为A的全局变量。关联关系有双向关联和单向关联。双向关联:两个类都知道另一个类的公共属性和操作。单向关联:只有一个类知道另外一个类的公共属性和操作。大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可服用的类。
聚合(Aggregation):
聚合是关联的特例。如果类与类之间的关系具有“整体和局部”的特点,则把这样的关联称为聚合。它往往有“包含”,“由……组成”的意思。是强的关联关系。聚合关系是整体和个体的关系。普通关联关系的两个类处于同一层次上,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分。同时,是一种弱的“拥有”关系。体现的是A对象可以包含B对象,但B对象不是A对象的组成部分。具体表现为,如果A由B聚合成,表现为A包含有B的全局对象,但是B对象可以不在A创建的时刻创建。
组合(Composition):
是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。Composition(组合关系)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。如果A由B组成,表现为A包含有B的全局对象,并且B对象在A创建的时刻创建。
是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。Composition(组合关系)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。如果A由B组成,表现为A包含有B的全局对象,并且B对象在A创建的时刻创建。
可以理解为,必须 has-a 的关系
依赖(Dependency):
依赖是一种使用关系,它说明一个事物规范的变化可能影响到使用它的另一个事务,但反之则不然。依赖关系的表示法是虚线箭头,箭头尾部的元素依赖箭头头部的元素,是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类。例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。是use-a的关系。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Stewart/archive/2008/11/20/3335279.aspx
分享到:
相关推荐
UML关系(泛化,实现,依赖,关联(聚合,组合))
QGraphicsView的UML关系图
本资源"一种基于UML关系的Java代码库构造方法"探讨了如何利用UML的关系来指导Java代码的生成,从而构建高效、结构化的代码库。以下是对这个主题的详细解释: 1. **UML简介**:UML是面向对象设计的一种标准化语言,...
一、UML关系与代码库构造方法 1. UML(统一建模语言)是一种用于软件系统分析和设计的标准语言,它能够提供丰富的图表来表示系统的结构和行为。UML的关系包括继承、聚合、组合、依赖等,这些关系能够体现代码的结构...
UML包含哪些元素你是否了解,UML关系图符号你是否熟悉,本文就向大家介绍一下,希望本文的介绍会让你对UML关系图符号有一定的认识。本文和大家重点讨论一下UML元素和UML关系图符号。开发Java应用程序时,开发者要想...
UML(统一建模语言)是一种标准化的图形建模工具,用于系统分析和设计,尤其在软件工程领域中广泛使用。UML包含了九种主要的模型图,它们各自服务于不同的建模目的,同时这些模型图可以与“4+1”视图模型相结合,以...
UML类关系-依赖、关联、聚合和组合 UML(Unified Modeling Language)是软件设计领域中的一种标准化建模语言,用于描述软件系统的结构、行为和架构。UML类关系是UML中的一种基本概念,描述了类之间的关系。今天,...
在提供的模板中,"UML 2.0 Symbols (Visio2007).vss"包含了UML 2.0标准的全部符号,如类、接口、对象、用例等,"UML 2.0 Icons and Stereotypes.vss"则提供了扩展的图标和类型标识,"UML 2.0 Diagrams (Visio 2007)....
图解所有UML对象关系 c++反汇编 天数夜读反汇编 图解所有UML对象关系 c++反汇编 天数夜读反汇编 图解所有UML对象关系 c++反汇编 天数夜读反汇编 图解所有UML对象关系 c++反汇编 天数夜读反汇编
1.4UML关系 1.5各UML图及特征 1.6各UML图的关系 1.7UML语法 1.8习题 2. 用例图 2.1用例图概要 2.2用例图中的事物及解释 2.3用例图中的关系及解释 2.4例子 2.5习题 3. 类图 3.1类图概要 3.2类图中的事物及解释 3.3...
UML(统一建模语言)类图是理解软件设计的重要工具,它可以帮助开发者直观地看到类之间的关系,如继承、实现、关联、依赖等。在"spring源码全部uml类图"中,我们可以深入探讨Spring框架的内部结构和设计模式。 首先...
UML关系** - **依赖**:表示一个元素的改变可能影响另一个元素,通常是短暂的、非结构化的联系。 - **关联**:表示两个类之间长期的、结构化的连接,可以有方向和多重性。 - **泛化**:即继承,一个类从另一个类中...
在UML中,包含关系和扩展关系是两种关键的结构关系,它们帮助我们理解和描述系统的组件如何相互作用和组织。这些概念在软件设计师的考试中是重要的考察点,因此理解它们的含义和应用至关重要。 首先,我们来看包含...
1.4UML关系 1.5各UML图及特征 1.6各UML图的关系 1.7UML语法 1.8习题 2. 用例图 2.1用例图概要 2.2用例图中的事物及解释 2.3用例图中的关系及解释 2.4例子 2.5习题 3. 类图 3.1类图概要 3.2类图中的事物及解释 3.3...
以上这些UML关系有助于设计师和开发人员清楚地表达系统中类的组织结构和它们之间的交互方式。这些符号和关系为软件系统的构建提供了一个清晰的蓝图,使系统设计更加直观和易于理解。掌握这些UML类关系的知识对于进行...
通过理解和熟练应用这些UML关系,开发者可以更清晰地表达系统设计,提高团队间的沟通效率,降低项目风险,确保软件开发的质量和可维护性。同时,UML工具如Rose、Enterprise Architect等可以帮助我们方便地绘制和管理...
《UML在构建客户关系管理系统中的应用》 UML(统一建模语言)是一种标准化的图形建模语言,用于软件工程领域,特别是系统分析和设计阶段。在这个课设项目中,“uml客户关系管理系统”深入展示了如何运用UML来构建一...