转自:http://blog.csdn.net/Stewart/archive/2008/11/20/3335279.aspx
泛化,关联,聚合,合成,依赖的关系
泛化(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
分享到:
相关推荐
主要有五种关系:泛化、依赖、关联、聚合和合成。 泛化(Generalization)是我们最常用的继承关系。例如,Employee 类和 SaleEmployee 类之间的关系就是泛化关系。 ```csharp public class Employee { } public ...
UML关系(泛化,实现,依赖,关联(聚合,组合))
### UML中依赖、泛化、关联、聚合与组合的Java实现详解 #### UML基础知识概览 统一建模语言(UML)作为一种图形化的标准化建模语言,为软件开发提供了强大的可视化工具,帮助开发者理解、设计和记录软件系统。UML...
UML 类图关系大全中有多种关系,包括泛化、关联、依赖、聚合、组合等。 1. 关联关系 关联关系是类图中最基本的关系类型。它描述了类之间的相互关系,可以是单向的,也可以是双向的。双向关联关系表示两个类之间的...
UML类图关系泛化、继承、实现、依赖、关联、聚合、组合 UML类图关系是Unified Modeling Language(统一建模语言)的核心概念之一,用于描述系统中的对象之间的关系。本文将对UML类图关系中的泛化、继承、实现、依赖...
本篇文章将深入探讨UML类图中的五种主要关系:关联、组合、聚合、依赖和泛化,以及它们在实际编程中的应用。 **关联** 是类之间的一种结构关系,表示类之间的连接或相互作用。它通常用一条实线表示,可以是单向或...
本文将详细探讨UML中的一些关键概念,包括依赖、泛化、关联、聚合、组合以及实现,并结合C#语言给出具体实现示例。 1. 泛化(Generalization): 泛化关系在UML中代表了继承,它表示一个类(子类)继承自另一个类...
泛化,依赖,关联,聚合的一些概念的东西和图例。很清晰,一目了然,适合初学者
UML 中的关联关系他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友。这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的...
- 关联关系可以是双向的,而依赖关系一定是单向的。 #### 四、聚合/组合 **概念:** 聚合和组合都表示类之间的整体与部分关系。它们之间的区别主要在于整体与部分之间的关系强度。 1. **聚合(Aggregation):** ...
UML继承、聚合、泛化和依赖是UML中的四种基本关系,分别用来描述类之间的继承关系、聚合关系、泛化关系和依赖关系。 一、继承 继承是一种面向对象设计中的概念,指的是一个类(子类)继承另外一个类(超类)的同一...
在UML(统一建模语言)中,有几种关键的关系类型用于描述系统中类与类之间的关系,包括继承、聚合、泛化和依赖。这些关系是面向对象设计的基础,帮助我们理解不同对象如何共享特性、组合成更复杂的结构以及相互作用...
UML类图关系(泛化、继承、实现、依赖、关联、聚合、组合).doc
依赖关系(Dependency) 泛化关系(Generalization) 实现关系(Realization) 2、设计原则 开闭原则 里氏替换原则 依赖倒置原则 单一职责原则 接口隔离原则 迪米特法则 合成复用原则 3、设计模式 创建型模式(Creational ...
在UML用例图中,还有其他几种关系,包括实现关系、依赖关系、关联关系、聚合关系和组合关系。每种关系都有其特点和应用场景,了解这些关系可以帮助我们更好地设计和开发系统。 在类图中,实现关系表示接口和实现的...
在面向对象技术中,包含关系、扩展关系或泛化关系是依赖关系的版型。包含关系是指一个对象包含另一个对象,扩展关系是指一个对象是另一个对象的扩展,泛化关系是指一个对象是另一个对象的泛化。这些关系都是面向对象...
Java 中类与类之间的关系 Java 中类与类之间的关系是理解面向对象编程的关键概念。这些关系包括泛化、依赖、关联和聚合等。...这些关系包括泛化、依赖、关联和聚合等,每种关系都有其特点和应用场景。
在面向对象编程中,类与类之间的关系是非常重要的,它们之间的关系可以分为四种:泛化、关联、依赖和聚合。 1. 泛化(Generalization) 泛化是一种继承关系,表示类与类之间的继承关系,接口与接口之间的继承关系...
依赖关系的表现形式有三种: 1. Water 类是全局的,则 Animal 类可以调用它。 2. Water 类是 Animal 类的某个方法中的变量,则 Animal 类可以调用它。 3. Water 类是作为 Animal 类中某个方法的参数或者返回值。 ...