UML类图

作者: 得_道 | 来源:发表于2020-09-15 11:17 被阅读0次

请看以下这个类图,类之间的关系是我们需要关注的:


image.png
  • 车的类图结构为<abstract>,表示车是一个抽象类;
  • 它有两个实现类:小汽车和自行车;它们之间的关系为实现关系,使用带空心箭头的虚线表示;
  • 小汽车与SUV之间是继承关系,使用带空心箭头的实线表示;
  • 小汽车与发动机之间是组合关系,使用带实心箭头的实线表示;
  • 学生与班级之间是聚合关系,使用带空心箭头的实线表示;
  • 学生与身份证之间为关联关系,使用一根实线表示;
  • 学生上学需要用到自行车,与自行车是一种依赖关系,使用带箭头的虚线表示;

类之间的关系

  • 继承关系

用一条带空心箭头的直接表示

image.png
  • 实现关系

用一条带空心箭头的虚线表示


image.png
  • 依赖关系

用一套带箭头的虚线表示的;如下图表示A依赖于B;他描述一个对象在运行期间会用到另一个对象的关系;

表现在代码层面,为类B作为参数被类A在某个method方法中使用。

image.png
  • 关联关系

一条直线表示的;它描述不同类的对象之间的结构关系;

这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;

表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;


image.png
  • 聚合关系

用一条带空心菱形箭头的直线表示,如下图表示A聚合到B上,或者说B由A组成;

体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU、公司与员工的关系等;

表现在代码层面,和关联关系是一致的,只能从语义级别来区分;

image.png
  • 组合关系

用一条带实心菱形箭头直线表示,如下图表示A组成B,或者B由A组成;

体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;

表现在代码层面,和关联关系是一致的,只能从语义级别来区分;


image.png

相关文章

  • [一]UML入门

    类图 二 UML类图讲解 三 UML类图讲解-自上而下 四 UML类图讲解-对比讲解

  • JavaScript面向对象之UML类图

    UML类图 什么是UML类图 UML(Unified Modeling Language)类图,中文意思为“统一建...

  • 一张图简述UML类图

    一张图简述UML类图 UML建模常用视图中,类图可算是最多的,初学UML的类图绘制,基于starUML工具,现简记...

  • 设计模式补完计划

    目录 1.uml类图2.uml时序图3.设计模式 uml类图 泛化关系(继承):指类继承自类,接口继承自接口的关系...

  • Java自学-接口与继承 UML图

    UML 图 步骤 1 : UML 图 —— 类之间的关系 UML-Unified Module Language统...

  • SDWebImage源码阅读(一)--基础架构

    SDWebImage架构图 SDWebImage的UML类图,具体UML类图的阅读规则,可以参考这篇文章:UML基...

  • 【JS设计模式3】UML类图

    UML类图 UML类图的画图工具 MS Office visio https://www.processon.co...

  • UML小结

    UML:统一建模语言;常见的UML图有: 类图 类图[https://blog.csdn.net/weixin_4...

  • 设计模式整理—UML图

    UML类图 研究设计模式首先要掌握类图,类图也就是表达模型之前的关系。UML—Unified modeling l...

  • UML总结

    uml概述 uml形式 类图 时序图 类图是展示软件项目中,类与类关系的逻辑图。时序图展示的是软件的方法调用流程。...

网友评论

      本文标题:UML类图

      本文链接:https://www.haomeiwen.com/subject/wroxyktx.html