`
Sunshyfangtian
  • 浏览: 243657 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

类与类之间的关系图

阅读更多

  一、简介 

  类是对象的集合,展示了对象的结构以及与系统的交互行为。类主要有属性(Attribute)和方法(Method)构成,属性代表对象的状态,如果属性被保存到数据库,此称之为“持久化”;方法代表对象的操作行为,类具有继承关系,可以继承于父类,也可以与其他的Class进行交互。

  类图展示了系统的逻辑结构,类和接口的关系。

 

 

  二、类的构成

  类主要有属性和方法构成。比如商品属性有:名称、价格、高度、宽度等;商品的方法有:计算税率,获得商品的评价等等。如下图

类与类之间的关系图(Class Diagram,UML图)

 

 

  三、类之间的关系(Relationship)

  关联(Association)

  两个相对独立的对象,当一个对象的实例与另外一个对象的特定实例存在固定关系时,这两个对象之间就存在关联关系。

 

  1、单向关联

  A1->A2: 表示A1认识A2,A1知道A2的存在,A1可以调用A2中的方法和属性

  场景:订单和商品,订单中包括商品,但是商品并不了解订单的存在。

  类与类之间的单向关联图:

类与类之间的关系图(Class Diagram,UML图)

  C#代码:

Public class Order
{
       Public List<Product> order;
Public void AddOrder(Product product )
       {
              order.Add(product);
}             
}
Public Class Product
{
}

 

 

  5、泛化(Generalization)

  类与类的继承关系,类与接口的实现关系。

  场景:父与子、动物与人、植物与树、系统使用者与B2C会员和B2E会员的关系

  类与类之间的泛化图:

类与类之间的关系图(Class Diagram,UML图)

  系统的使用者包括:B2C会员、B2B会员和B2E会员

 

  6、依赖(Dependency)

  类A要完成某个功能必须引用类B,则A与B存在依赖关系,依赖关系是弱的关联关系。

  C#不建议双相依赖,也就是相互引用

  场景:

  本来人与电脑没有关系的,但由于偶然的机会,人需要用电脑写程序,这时候人就依赖于电脑。

  类与类的依赖关系图

  在程序中一般为using 引用。

类与类之间的关系图(Class Diagram,UML图)

 

  7、聚合(Aggregation)

  当对象A被加入到对象B中,成为对象B的组成部分时,对象B和对象A之间为聚合关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。

  场景:商品和他的规格、样式就是聚合关系。

  类与类的聚合关系图

类与类之间的关系图(Class Diagram,UML图)

 

  8、组合(Composite)

  对象A包含对象B,对象B离开对象A没有实际意义。是一种更强的关联关系。人包含手,手离开人的躯体就失去了它应有的作用。

 

  场景:Window窗体由滑动条slider、头部Header 和工作区Panel组合而成。

  类与类的组合关系图

类与类之间的关系图(Class Diagram,UML图)

 

 

  四、总结  

  本文针对类之间常用的关系进行了简单的描述,主要有:关联关系、泛化、依赖、聚合和组合。 

  出处:http://www.cnblogs.com/ywqu

 

<script src="/ads/ads_250x250.js"></script>

  代码表现为:Order(A1)中有Product(A2)的变量或者引用

 

  2、双向关联

  B1-B2: 表示B1认识B2,B1知道B2的存在,B1可以调用B2中的方法和属性;同样B2也知道B1的存在,B2也可以调用B1的方法和属性。

  场景:订单和客户,订单属于客户,客户拥有一些特定的订单

  类与类之间的单向关联图

类与类之间的关系图(Class Diagram,UML图)

  C#代码

Public class User
{
       Public List<Order> GetOrder()
       {
}      return new List<Order>();
}
Public Class Order
{
       Public User GetUserByOrderID(string OrderId )
       {
              Return new User();
}
}

 

  3、自身关联

  同一个类对象之间的关联

  类与类之间自身关联图

类与类之间的关系图(Class Diagram,UML图)

 

  4、多维关联(N-ary Association)

  多个对象之间存在关联

  场景:公司雇用员工,同时公司需要支付工资给员工

  类与类之间的多维关联图:

类与类之间的关系图(Class Diagram,UML图)

 

分享到:
评论

相关推荐

    类与类之间的关系

    ### 类与类之间的关系 #### 1. 继承关系 **定义**:继承是指一个类(称为子类或子接口)继承另一个类(称为父类或父接口)的功能,并可以在此基础上添加新的功能。在Java中,继承关系通过关键字`extends`明确表示...

    Java中类与类之间的关系

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

    java中类与类之间的关系

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

    UML类之间的关系图

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

    java类与类之间的关系

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

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

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

    Qt5类继承关系图_qt5类继承关系图_QT5_

    "Qt5类继承关系图"是一个重要的参考资料,它直观地展示了Qt5库中各个类之间的关系,有助于开发者理解和使用Qt5的各种组件。 这个PDF文档很可能包含了Qt5的主要模块,如Qt Widgets、Qt GUI、Qt Network、Qt Database...

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

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

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

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

    C++ 类继承图 所有类关系

    C++ MSDN的类总图,显示了所有类 之间的关系 非常有用!~~

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

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

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

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

    Qt类关系图

    Qt4的类关系图可以帮助开发者快速找到所需的功能类,理解其在整个框架中的位置,以及如何与其他类协同工作。例如,QWidget是所有用户界面对象的基类,而QApplication则是应用程序的入口点。通过类图,你可以看到...

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

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

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

    在探讨“窗口类、窗口类对象与窗口三者之间的关系”这一主题时,我们首先要理解在Windows编程(尤其是使用Microsoft Foundation Class Library,简称MFC)的背景下,这三者各自的角色以及它们之间的交互机制。...

    类间的关系

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics