在上一篇中讲了类图的操作以及介绍,当然类不是单独存在的,类与类之间存在着关系,UML提供了类之间的关系的表达方式。

UML类图操作(一)

下面简单介绍设置操作,双击关系线,然后找到Detail

1.关联关系(Association)

关联关系:属于结构关系,对象与对象之间的关系

1.1.1单向关联

class Man
{public Car car;
}
class Car
{}

1.1.2双向关联

class Studen
{public Grade grade;
}
class Grade
{public Student student;
}

1.1.3自关联

class ClassA
{public ClassA classA;
}

1.1.4多重关联:

1..1 : 表示另一个类的一个对象只与该类的一个对象有关系
0..*:表示另一个类的一个对象与该类的零个或多个对象有关系

1..*:表示另一个类的一个对象与该类的一个或多个对象有关系

0..1:表示另一个类的一个对象没有或者只有一个对象有关系

m..n:表示另一个类的一个对象与该类最少有m个最多有n个对象有关系

这里值得注意的是:有*的关联性关系就有数组

1.2聚合关系(Aggregation)

聚合关系:表示整体与部分关系,部分是整体的一部分,也可以脱离整理独立存在。也就是说car被回收,gasoline不会跟car一起被回收。

class Car{public Gasoline gasoline;//构造注入public Car(Gasoline gasoline){this.gasoline = gasoline;}//属性注入public Gasoline Gasoline{get { return gasoline; }set { gasoline = value; }}}class Gasoline{}

这里注意的是:通过构造函数注入;通过属性注入;

1.3组合关系

组合关系:也是整体和部分的关系,但是组合关系中整体控制部分的生命周期,也就是说你在使用car对象的时候,在它的构造函数里面创建wheel,在回收car的时候wheel同时被回收

    class Car{public Wheel wheel;public Car(){//实例化wheel = new Wheel();}}class Wheel{}

2.依赖关系(Dependency)

依赖关系:依赖关系属于一种使用关系,比如司机使用车,但是这个车会变化,可以开自行车,可以开轿车。。一般都是某个类使用另一个类里面的对象作为参数使用

所以我们一般用到的3种方式

(1)将一个对象作为类的参数,比如通过构造函数传参 public Car (A a){};

(2)将一个对象作为参数传入类的方法,比如 :public void A(Car car);

(3)在一个类里面调用静态对象的方法,比如 Car.Move();

下面我们使用第一种方式

    class Driver{public Driver(Car car){car.Move();}}class Car{public void Move(){ }}

3.泛化关系(Generalization)

泛化关系:俗称继承关系,子类继承父类。

public class Subclass : Base{}public class Base{}

4.实现关系(Realization)

实现关系:这个是属于接口之间继承的关系

    class Subclass : IBase{public void Move(){}}interface IBase{void Move();}

UML类图操作(二)相关推荐

  1. UML类图操作(一)

    UML类图操作(二) 类图(Class Diagram)用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据.在 ...

  2. MVC设计模式和UML类图

    文章目录 一.UML 类图: 二.MVC 设计模式 一.UML 类图: 14中UML图:https://blog.csdn.net/yoyo328/article/details/78009237 二 ...

  3. 快速读懂UML类图,搞懂类之间的6大关系,轻松绘制UML类图

    快速读懂UML类图,搞懂类之间的6大关系,轻松绘制UML类图 前言 一.UML类图简介 二.类之间的六大关系及UML类图 1.依赖关系及UML类图表示 2.泛化关系及UML类图表示 3.实现关系及UM ...

  4. 23种设计模式 UML 类图及对应示例代码 (二)

    23种设计模式 UML 类图及对应示例代码 (二) 11.DoFactory.GangOfFour.Flyweight.Structural Flyweight:运用共享技术有效的支持大量细粒度的对象 ...

  5. 设计模式(二)——UML类图怎么画

    UML类图怎么画 一.注释(comment) 注释就是对类图的补充说明,可以附加在任何元素上,用右上角有折角的矩形来表示,其内放置说明文字,通过虚线连接被注释的元素. 二.类(Class) 在面向对象 ...

  6. Java设计模式(二):UML 类图和概述

    目录 一·UML类图 1.1 UML 基本介绍 1.2 UML 图 1.3 UML 类图 1.4 类图-依赖关系 ( Dependence) 1.5 类图-泛化关系(generalization) 1 ...

  7. 设计模式(二)--UML类图和设计模式概述

    一.UML类图 1.UML 基本介绍 UML--Unified modeling language UML (统一建模语言),是一种用于软件系统分析和设计的语言工具,它用 于帮助软件开发人员进行思考和 ...

  8. 深入浅出UML类图(二)

    类与类之间的关系(1) 在软件系统中,类并不是孤立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式. 1. 关联关系 关联(Association)关系是类与类之间最常用 ...

  9. idea添加database插件_IDEA高级玩法:集成JIRA、UML类图插件、SSH、FTP、Database管理......

    优质文章,第一时间送达 上一篇: 下一篇:(已修复) 作者: 菩提树下的杨过 出处: http://yjmyzz.cnblogs.com dea还有很多高大上的功能,易用性几乎能与vs.net媲美,反 ...

最新文章

  1. iOS Block总结
  2. 面向对象知识点之statickeyword的使用
  3. Redis List 类型操作及常用命令
  4. BBIAF的完整形式是什么?
  5. android 编译系统make文件
  6. jquery系列教程1-选择器全解
  7. concat oracle 多个字符串_史上最全的MySQL 字符串函数,赶紧收藏!!
  8. PowerShell通过Word批量打印文件
  9. Linux 内核md5sum使用,linux命令详解:md5sum命令(示例代码)
  10. 3D打印:FDM打印湿度对打印件及打印机的影响和调整
  11. 语法俱乐部1:基本句型及补语
  12. 每日一课 | AES加密和解密(CBC模式)
  13. [渝粤教育] 南通大学 模拟电子技术 参考 资料
  14. python爬取海量精美高清漂酿纯真可爱善良小姐姐壁纸(老司机福利)
  15. 【pg Postgres】 Postgres解决Permission denied for relation
  16. 一根木棒折两次形成一个三角形的概率是多少
  17. 戴森史上最轻吸尘器全球首发,搭配吸头后仅重1.5千克
  18. 高中学历学了python有人要么-Python纳入浙江省高考有何意义,浙江省中学python教程...
  19. 《信息论与编码》学习笔记
  20. 扩展欧几里得及其应用

热门文章

  1. 5404. 用栈操作构建数组
  2. poj2393 其它贪心 挑战程序设计竞赛
  3. mysql-python安装出错
  4. bitsadmin命令(Windows下载文件命令)
  5. LSTM 与 Bilstm介绍(包含代码实现、Python)
  6. PHP-FPM Fastcgi 未授权访问漏洞(端口9000)
  7. Nmap源码分析(整体架构)
  8. 【线性代数】2-5:逆(Inverse)
  9. 使用visual studio 2013读取.mat文件
  10. Neville 插值方法