`

uml类图(Class Diagram)中类与类之间的关系及表示方式

 
阅读更多

类之间大体分为5种关系:

 

1,依赖关系(Dependency)

单向,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类,是一种“use a”关系

如果A依赖于B,则B表现为A的局部变量,方法参数,静态方法调用等

[java] view plain copy
 
  1. public class Person {  
  2.     public void doSomething(){  
  3.         Card card = new Card();//局部变量  
  4.         ....  
  5.     }  
  6. }  
[java] view plain copy
 
  1. public class Person {  
  2.     public void doSomething(Card card){//方法参数  
  3.         ....  
  4.     }  
  5. }  
[java] view plain copy
 
  1. public class Person {  
  2.     public void doSomething(){  
  3.         int id = Card.getId();//静态方法调用  
  4.         ...  
  5.     }  
  6. }  

 

2,关联关系(Association)

单向或双向(通常我们需要避免使用双向关联关系),是一种"has a"关系,如果A单向关联B,则可以说A has a B,通常表现为全局变量

[java] view plain copy
 
  1. public class Person {  
  2.     public Phone phone;  
  3.       
  4.     public void setPhone(Phone phone){        
  5.         this.phone = phone;  
  6.     }  
  7.       
  8.     public Phone getPhone(){          
  9.         return phone;  
  10.     }  
  11. }  

 

3,聚合关系(Aggregation)

单向,关联关系的一种,与关联关系之间的区别是语义上的,关联的两个对象通常是平等的,聚合则一般不平等,有一种整体和局部的感觉,实现上区别不大

Class由Student组成,其生命周期不同,整体不存在了,部分依然存在,当前Team解散了,人还在,还可以加入别的组

[java] view plain copy
 
  1. public class Team {  
  2.     public Person person;  
  3.       
  4.     public Team(Person person){  
  5.         this.person = person;  
  6.     }  
  7. }  

 

4,组合关系(Composition)

单向,是一种强依赖的特殊聚合关系

Head,Body,Arm和Leg组合成People,其生命周期相同,如果整体不存在了,部分也将消亡

[java] view plain copy
 
  1. public class Person {  
  2.     public Head head;  
  3.     public Body body;  
  4.     public Arm arm;  
  5.     public Leg leg;  
  6.       
  7.     public Person(){  
  8.         head = new Head();  
  9.         body = new Body();  
  10.         arm = new Arm();  
  11.         leg = new Leg();  
  12.     }  
  13. }  

 

5,继承关系(Inheritance)

类实现接口,类继承抽象类,类继承父类都属于这种关系

可以分得更细:

实现(Realization):类实现接口属于这种关系

泛化(Generalization):即"is a"关系,类继承抽象类,类继承父类都属于这种关系

分享到:
评论

相关推荐

    UML类图与类的关系详解

    其中,类图(Class Diagram)是UML中最常见且重要的组成部分之一,它主要用于展示系统中类、接口及其之间的静态结构和关系。 类图的基本组成包括: - **类名**:通常位于类的第一行,用于标识类的名字。 - **属性**...

    C# and UML class diagram

    UML类图通过不同类型的连接线来表达类之间的关系,其中关联、聚合和组合是最常见的关系类型。 关联关系表示两个类之间的某种联系,可以理解为“is associated with”。这种关系通常是双向的,意味着类A可以知道类B...

    UML中类图实例.docx

    类图(Class Diagram)是 UML 的一种重要组成部分,用于描述类之间的关系和结构。本文将通过一个示例,详细介绍 UML 类图的基本概念和应用。 1. 类图的基本组成部分 在 UML 类图中,一个类通常由三部分组成:类名...

    如何画数据流图UML类图

    UML类图(Unified Modeling Language Class Diagram)是UML中的静态结构图表,用于描述系统的类、接口、协作以及它们之间的关系。在"第3章_类图.ppt"和"UML类图详解.ppt"中,你可以找到以下内容: 1. **类**:表示...

    UML类图怎么画学习示例

    UML类图(Class diagram)是统一建模语言(UML)的一种图形表示,用于显示系统的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系。 在类图中,每个类由一个包含类名、属性和方法的矩形表示,...

    UML class diagram tutorial

    UML类图是由一组类和类之间的关系集合构成的图形化表示方法。在面向对象系统中,一个类提供了一个明确定义责任集合的清晰抽象。类由三个部分组成:类名、类属性和类操作(方法)。 在UML类图中,类名位于图形的第一...

    UML类图详细教程.ppt

    在UML类图中,类的表示方式可以根据建模阶段有所不同。例如,在分析或设计阶段,可能只显示类名,重点在于类之间的联系;而在实现阶段,会详细展示类的属性和操作。 **属性(Attribute)**是类的特性,以文字形式表示...

    UML 2 Class Diagram Guidelines

    类图是UML中的一种核心图表,主要用于描绘系统的静态结构,包括类、接口、对象之间的关系等。以下是对UML 2 类图设计的一些关键知识点: 1. **类的表示**:在UML 2 中,类通常以一个矩形表示,包含三个区域。顶部...

    ModelGoon java代码自动生成UML图

    - **UML类图(Class Diagram)**:展示类、接口、继承关系、实现关系等,帮助开发者理解类之间的静态结构。 - **协作图(Collaboration Diagram)**:强调对象之间的合作关系,显示消息的发送和接收,常用于展示对象间的...

    新闻发布UML(用例,类图,序列,活动)图_uml发布帖子系统类图,新闻发布系统分析类图

    类图展示了系统中各个类的结构以及它们之间的关系。在新闻发布系统中,我们可以定义如"新闻"、"用户"、"评论"等类。每个类包含属性(如新闻的标题、内容,用户的用户名、密码)和方法(如发布新闻、评论)。类图还...

    UML2类图的画法

    UML2 类图(Class Diagram)是其中的一种,主要用于描述系统中类的静态结构以及这些类之间的关系。通过类图,开发人员可以清晰地了解软件系统的基本组成部分及其相互作用方式。 #### 二、类图的主要元素 ##### 1. ...

    详解UML图之类图

    类图描述了系统中类的属性、方法以及类与类之间的各种静态关系,例如继承、关联、依赖和聚合等。通过类图,开发者可以了解到系统是由哪些类构成,以及这些类是如何相互作用的。 具体来说,类图中的类通常由以下三个...

    设计模式附录A UML类图PPT学习教案.pptx

    类图(Class Diagram)使用出现在系统中的不同类来描述系统的静态结构,它用来描述不同的类以及它们之间的关系。在UML类图中,类一般由三部分组成:类名、类的属性(Attributes)和类的操作(Operations)。类名是一...

    电子邮件系统UML设计

    接下来是**类图(Class Diagram)**,它描绘了系统中各类对象及其关系。在电子邮件系统中,可能包含用户类、邮件类、联系人列表类等。用户类可能包含属性如用户名、密码、邮箱容量等;邮件类可能包括发件人、收件人...

    UML簡介_Class Diagram.pdf

    其中,类图(Class Diagram)是UML中最常用的一种图表类型,用于展示系统中类的静态结构及其相互关系。本文将详细介绍类图的基本概念、组成元素以及如何使用类图来描述系统。 #### 二、类图目的与作用 类图的主要...

    设计模式之结构型模式uml类图EA文件.rar

    UML类图(Unified Modeling Language Class Diagram)是建模语言的一种,用于描绘系统中的类、接口及其相互关系。EA(Enterprise Architect)是一款强大的UML建模工具,它支持创建和管理复杂的系统模型。在压缩包中...

    uml类图对象图包图PPT学习教案.pptx

    类图是统一建模语言(UML)中的一个重要概念,它是用来表示系统中类、接口、对象及其相互关系的静态视图。通过类图,我们可以理解系统的架构,定义类的结构,以及描述类与类之间的关系。以下是关于类图、对象图、包...

    UMLxuexi.rar_class diagram_类图

    类图是UML中的一种静态结构图,用于表示系统中的类、接口、对象及其之间的关系。本文将详细探讨类图的概念、组成要素以及如何使用类图进行系统建模。 类图是UML中最为基础的图形之一,它以图形方式展示了类的结构,...

    UML复习题(类图,活动图,等....).zip

    类图是UML中最基础的图,它展示了系统中的类、接口以及它们之间的关系,如继承、关联、聚合等。类图中,每个类由三部分组成:类名、属性和方法。类与类之间的关系有助于理解系统的整体结构和设计。 1. **继承**: ...

    UML 2.2 Visio 模板

    1. **类图(Class Diagram)**:表示类、接口和它们之间的关系。类图是UML中最常见的图,用于描述系统的核心实体和它们的属性、操作以及相互关联。 2. **序列图(Sequence Diagram)**:展示了对象间交互的时间顺序,...

Global site tag (gtag.js) - Google Analytics