美文网首页设计模式
UML — — 类图

UML — — 类图

作者: 幺鹿 | 来源:发表于2017-02-13 14:11 被阅读20次

目录

  • 前言
  • 类图基本概念
  • 类之间的关系
  • 实现关系(realize)
  • 泛化关系(generalization)
  • 依赖关系(dependency)
  • 关联关系(association)
  • 聚合关系(aggregation)
  • 组合关系(composition)

需要查看其它设计模式描述可以查看我的文章《设计模式开篇》

前言

这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对 日常的工作和交流; 同时,我们应该能将类图所表达的含义和最终的代码对应起来; 有了这些知识,看后面章节的设计模式结构图就没有什么问题了;

类图基本概念

类图的3个基本组件:类名、属性、方法。

类名、属性、方法

类之间的关系

依赖关系的强弱程度依次为:实现 = 继承 > 组合 > 聚合 > 关联 > 依赖;

实现关系(realize)

实现关系用一条带空心箭头的虚线表示;

实现

泛化关系(generalization)

继承关系为 is-a的关系;两个对象之间如果可以用 is-a 来表示,就是继承关系:(..是..)

泛化关系用一条带空心箭头的直接表示;如下图表示(A继承自B);

泛化关系(generalization)

依赖关系(dependency)

对象之间最弱的一种关联方式,是临时性的关联。依赖关系是用一套带箭头的虚线表示的;如下图表示A依赖于B;他描述一个对象在运行期间会用到另一个对象的关系;

依赖关系(dependency)

关联关系(association)

对象之间的强关联方式,是长期性的关联。关联关系默认不强调方向,表示对象间相互知道;如果特别强调方向,如下图,表示A知道B,但 B不知道A;

关联关系(association)

聚合关系(aggregation)

聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU、公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;

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

聚合关系(aggregation)

组合关系(composition)

组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;

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

组合关系(composition)

相关文章

  • [一]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形式 类图 时序图 类图是展示软件项目中,类与类关系的逻辑图。时序图展示的是软件的方法调用流程。...

网友评论

  • 马拉松Mara:实现关系(realize):带空心箭头的虚线;
    泛化关系(generalization):带空心箭头的直线;
    依赖关系(dependency):带线形箭头的虚线;
    关联关系(association):带线形箭头的直线;
    聚合关系(aggregation):带空心菱形箭头的直线;
    组合关系(composition):带实心菱形箭头直线
  • 幺鹿:想找群小伙伴互相勘误彼此的文章,站在不同的角度提点建议、批判,有意向的朋友可以私信我:smile:
    马拉松Mara:不用吧、你发表出来就好了,有问题大家会评论的

本文标题:UML — — 类图

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