`

类与类之间的关系

UML 
阅读更多

      类与类之间的关系大体可以分为三种:泛化关系(Generalization)、关联关系(Association)、依赖关系(Dependency).其中关联关系又细分为:组合关系(Composition)、聚合关系(Aggregation)以及除了这两种特殊关系所剩下的所有关联关系。一般情况下(默认),我们所说的关联关系是不包括组合关系和聚合关系的。
      泛化关系(Generalization)主要体现为:接口的继承、接口实现、类的继承,也就是所谓的(is a关系)。图形如下:

     关联关系(Association)主要体现为:全局变量(has a 关系),它使一个类知道另一个类的属性和方法。关联关系有:双向关系和单向关联,大部分的关联都是单向的。比如:class A 关联于class B,那么在class A 中就有一个class B 的全局变量,以表示class A 包含了class B对象的引用。

     组合关系(Composition)主要体现为:整体与部分的关系,这是一种很强的“拥有”关系,整体与部分的生命周期是一致的。比如:class A 组合于class B,那么A 拥有一个 B的全局对象(A has a B,and A composed by B),在A创建的时候创建B对象,在A生命周末结束的时候B也结束,就好像人和心脏。

     聚合关系(Aggregation)主要体现为:这是一种较弱的“拥有”关系,体现的是A对象可以包含B对象,但是B对象不是A对象的组成部分(classA has a classB,but A not composed by B)。既A和B的生命周期是不一致的,A对象创建的时候不一定创建B对象,A对象销毁的时候,B对象还可以独立存在。

     依赖关系(Dependency)主要体现为:函数的参数(use a 关系),表示一个类(A)依赖于另一个类(B)的定义,其中B的变化将影响到A,如果A依赖于B,那么B在A中存在的形式为:方法的参数、局部变量、静态方法的调用等。

 

 

 

 

3
2
分享到:
评论
4 楼 fouri 2009-08-20  
很不错 ,虽然这些都学过 但是都忘得差不多了
3 楼 aidiyuxin 2008-09-09  
这不是传说中的uml嘛
2 楼 fengyun86 2008-09-08  
谢谢,我会去想想的。。。
1 楼 风清云淡 2008-09-08  
可以想想用例的三种关系:泛化、包含、扩展

相关推荐

    老师给的C#类与类之间的调用

    4. **类之间的关系**:类之间常见的关系有继承、多态和组合。**继承**(Inheritance)允许一个类(子类)从另一个类(父类)继承属性和方法。这有助于代码重用和创建层次结构。例如: ```csharp class Student : ...

    Java中类与类之间的关系

    ### Java中类与类之间的关系 #### 泛化(Generalization) 在面向对象编程中,泛化是指一种类从另一种类获取属性和行为的方式。在Java语言中,泛化主要通过继承来实现。继承允许一个类(子类或派生类)继承另一个类...

    java类与类之间的关系

    在Java编程语言中,类与类之间的关系是构建复杂系统结构的基础,这些关系不仅限于继承和封装,还包括了关联、依赖、聚合和组合等多种形式。以下是对这些关系的深入探讨: ### 1. 关联关系(Association) 关联关系...

    类和对象的设计及之间的关系

    7.3 确定类或对象之间的关系,如继承、关联、聚合和组合,有助于建立对象间的结构和交互。这些关系帮助我们理解类如何协同工作以完成系统功能,同时提高代码的重用性和可维护性。 7.4 设计类的属性涉及定义每个类的...

    文档类,视图类等与框架之间的关系

    ### 文档类、视图类等与框架之间的关系 在探讨文档类、视图类以及它们与框架之间的关系时,我们需要深入理解MFC(Microsoft Foundation Classes)中的几个关键概念及其相互作用机制。以下是对这些概念及其关系的...

    java中类与类之间的关系

    Java 中类与类之间的关系 Java 中类与类之间的关系是理解面向对象编程的关键概念。这些关系包括泛化、依赖、关联和聚合等。了解这些关系对于设计和实现软件系统非常重要。 一、泛化关系 泛化关系是类与类之间的...

    窗口类、窗口类对象与窗口三者之间关系

    - **窗口类对象与窗口**:窗口类对象(如`CWnd`)与窗口之间的联系主要通过窗口句柄(HWND)建立。每个`CWnd`对象都有一个成员变量`m_hWnd`,指向一个实际的窗口。通过这个句柄,`CWnd`对象可以调用各种Windows API...

    C++类之间的关系1.zip

    类之间的关系是理解复杂系统设计的关键,这通常涉及到继承、多态性和关联等概念。在这个“C++类之间的关系1”课程实验及报告中,我们将深入探讨这些核心主题。 **1. 继承(Inheritance)** 继承允许一个类(子类或...

    简单谈谈Java类与类之间的关系

    Java 类与类之间的关系是面向对象编程的核心概念之一,它帮助我们组织代码,实现代码的重用和模块化。在 Java 中,类与类的关系主要包括依赖(uses-a)、聚合(has-a)和继承(is-a)这三种主要类型。 1. 依赖...

    C++类之间的关系2.zip

    继承是C++类之间关系的基础,允许一个类(子类或派生类)从另一个类(基类或父类)继承属性和行为。通过继承,子类可以重用基类的功能,并根据需要添加新的特性和方法。继承有助于代码复用,提高程序的可维护性和...

    [罗振辉]MFC中类与类之间参数交换方式

    如果类之间有直接的引用或指针关系,可以直接访问对方的公共或友元成员变量进行参数交换。例如,视图类可以持有对文档类的引用,直接读写其成员变量。 ```cpp class CMyView : public CView { public: ...

    尚硅谷-拓展:类与类之间的关系说明.pdf

    本教程特点: 1.更适合零基础学员: ·自Java语言起源始,循序渐进,知识点剖析细致且每章配备大量随堂练习,让你步步为营,学得透彻、练得明白 ·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅...

    UML类之间的关系图

    - **关联**:表示类之间的结构关系,比如“学生”类和“课程”类之间的关联。 - **聚合**:一种强关联,表示整体与部分的关系,如“汽车”类包含“轮胎”类。 - **组合**:比聚合更强的关系,部分和整体有生命...

    基于UML类图的类之间依赖关系图论问题研究.pdf

    ### 基于UML类图的类之间依赖关系图论问题研究 #### 摘要及背景介绍 本文探讨了UML(统一建模语言)类图中的类间依赖关系,并通过图论的方法对其进行深入分析。随着面向对象编程方法在软件开发领域的广泛应用,UML...

    12-JAVA类之间的关系

    JAVA类之间的关系思维导图,便捷整理思路,泛化、实现、依赖、关联、组合、聚合……

    UML类图、类与类间关系文档(UML必看)

    - **关联**:关联描述了类之间的结构关系,例如“朋友”关系或“拥有”关系。在UML中,关联用一条实线表示,可带有箭头指示方向,也可以用角色名和多重性来细化描述。 - **依赖**:比关联更弱的关系,表示一个类...

    类间的关系

    关联是最常见的类间关系之一,它表示两个或多个类之间的结构连接。这种关系可以是单向的、双向的,甚至是自关联。例如,在一个图书馆管理系统中,书籍与作者之间就存在一种关联关系,每本书都对应着一个或多个作者,...

Global site tag (gtag.js) - Google Analytics