简介UML类图

作者: BrightLoong | 来源:发表于2017-10-18 17:10 被阅读67次
title
阅读原文请访问我的博客BrightLoong's Blog
UML全称**Unified Modeling Language **又称统一建模语言或标准建模语言。我们再学习各种框架或者设计模式之类的时候经常会看到UML类图,这里将UML类图一些基本点做一个记录。

在文章中所涉及到的UML类图是使用starUML工具创建,使用其他工具创建会有所不同。

总体印象

all

上面的UML类图基本展示了UML类图的大部分元素,以及类与类之间的关系,下面将对其一一进行解释。

NOTE

note

UML类图注解的表示方法,如上右半部所示。

类结构表示

class interface

类的表示方法如图,一般分为三层,从上到下依次为类名、属性和方法。接口表示和类的表示类似,只是在上面标明了是interface(这只是表示接口的一种方式,并且不同的工具展现方式可能不同,还有一种棒棒糖的形式,就是一个圆加一条竖线,并不常见,所以也不过多介绍),并且这里我隐藏了属性层。如果是抽象类,在使用starUML工具创建的时候类名会以斜线表示。关于类的表示有以下几点:

  • +:public,-:private,#:protected
  • 属性冒号后的内容表示属性的类型
  • 方法冒号后的内容表示属性的返回值
  • 类型说明并不是必须的

类关系表示

实现

realization

实现(Realization),用一个带空心三角箭头的虚线来表示。用来表示接口和实现类的关系。比如:Plane(飞机)和Car(汽车)都实现了接口IVehicle(交通工具)。

继承

Generalization

继承(Generalization,也称为泛化关系),用一个带空心三角箭头的实线来表示。表示父类与子类之间的关系。比如:Trunck(卡车)和Bus(公交车)都继承自父类Car(汽车)。

关联关系

关联(Association),关联关系分为以下几种

  • 自关联:用一头带箭头的实线表示,自己指向自己
  • 单向关联:用一头带箭头的实线表示,箭头指向被关联类
  • 双向关联:用一条实线表示,或者使用双箭头

关联关系表示类与类之间的联系,是同一层次上的关系,它不像依赖关系具有偶然性和临时性。一般情况是关联类引用被关联类作为全局变量。如下Human持有Name。

大多数的关联关系都是单向的。

Association DirectedAssociation

聚合关系

Aggregation

聚合(Aggregation),用一头是空心菱形的直线表示(有些时候是一头为空心菱形,一头为箭头的实线)。聚合也是关联关系的一种,是整体和部分之间的关系,也就是has-a的关系(很多地方has-a,contains-a已经比较混乱,我理解上来看是has-a),整体包含部分,但是部分脱离整体后依然可以单独存在。如上:Car(汽车)包含Engine(引擎),但是Engine脱离了Car依然可以独立存在。

组合关系

Composition

组合(Composition),用一头是实心菱形的直线表示(有些时候是一头为实心菱形,一头为箭头的实线)。组合同样是一种关联关系,也同样是整体和部分之间的关系,我把它理解为contains-a的关系。和聚合的区别在于,部分脱离整体和无法单独存在,整体和部分具有相同的生命周期,整体不存在了,部分也就消失了。如上:Human(人类)包含Head(头)和Body(身体),头和身体并不能单独存在。

依赖关系

(Dependency

依赖(Dependency),用一头带箭头的虚线表示。表示类与类之间,一个类依赖于另一个类的定义。被依赖类的变化将会引起依赖类的变化。在java中依赖关系通常体现为,一个类使用另一个类作为局部变量,方法参数或静态方法调用,表示为use-a。如上,Engine的方法startEngine()方法使用Gasoline(汽油)作为参数,可能是调用了Gasoline中的burn()方法。

相关文章

  • UML 类图简介

    前言 平常在阅读一些源码类,设计模式,架构类文章时,经常会遇到 UML 类图。因此,懂得一些常用的 UML 类图表...

  • 简介UML类图

    在文章中所涉及到的UML类图是使用starUML工具创建,使用其他工具创建会有所不同。 总体印象 上面的UML类图...

  • UML类图简介

    讲道理,UML总在接触,但是每次看到实在打不起兴趣好好看,总觉得略显复杂,就没有看下去的欲望,后来发现设计模式越学...

  • [一]UML入门

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

  • JavaScript设计模式-0002--观察者模式

    简介 应用场景 原理 UML时序图 UML类图 原则 实现 实现主题 实现观察者 test 结果为

  • 了解UML 类图

    文章简介1、了解UML统一建模语言2、重点关注类图以及使用 一、UML简介 UML:描述、构建和图形化文档系统的可...

  • JavaScript面向对象之UML类图

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

  • UML建模工具

    1.简介 UMLet是一款简单实用、开源的轻量级UML建模工具,UML中定义了用例图、类图、对象图、状态图、活动图...

  • 一张图简述UML类图

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

  • 设计模式补完计划

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

网友评论

    本文标题:简介UML类图

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