一 类图画法

1.类图的概念

显示出类、接口以及他们的静态结构和关系,用于描述系统的结构化设计。

2.类

类是对一组具有相同属性、操作、关系和语义对象的抽象,是面向对象的核心,包括名称、属性和方法。如下图:

2.类属性语法

[可见性] 属性名 [:类型] [{属性字符串}]

可见性:+:public

-:  private

#:  protected

3.类方法语法

[可见性] 方法名 [(参数表)] [:返回类型] [{属性字符串}]

属性字符串:在操作的定义中加入一些预定义元素之外的信息。

二 类之间的几种关系

关系强弱:继承=实现>组合(复合)>聚合>关联>依赖

1.继承关系

描述:类似is-a的关系,子类继承父类。

画法:

箭头方向说明:由子类指向父类。

2.实现关系

描述:将接口实例化。

画法:

箭头方向说明:由类指向接口。

3.依赖关系

描述:一个类需要用到另一个类的方法来实现功能。

画法:

箭头方向说明:由一个类指向一个被依赖类。

4.关联关系

描述:关联关系是一种强依赖关系,一个类需要长期使用另一个类。它使一个类知道另一个类的方法。关联可以是单向的,也可以是双向的。

画法:

箭头方向说明:由类指向被关联类。

5.聚合关系

描述:聚合是一种弱拥有的关系,即一个类由很多其他部分组成,其他类能单独存在。

画法:

箭头方向说明:由部分指向整体。

6.复合关系

描述:复合关系表达一种强拥有的关系,即一个类包含另一个类,生命周期一样。

画法:

箭头方向说明:由部分指向整体。

UML类图画法整理的更多相关文章

  1. UML类图画法及其之间的几种关系(转)

    UML类图画法及其之间的几种关系 最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下. 文章目录如下: 类图画法 类之间的 ...

  2. 【转载】UML类图知识整理

    原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize ...

  3. UML类图画法及其之间的几种关系

    最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下. 文章目录如下: 类图画法 类之间的几种关系:泛化(Generaliz ...

  4. UML类图知识点整理

    引用源:https://www.cnblogs.com/me115/p/4092632.html 从一个示例开始 请看以下这个类图,类之间的关系是我们需要关注的: 车的类图结构为<<abs ...

  5. UML类图画法及其之间关系

    1.泛化又名继承(Generalization),带空心箭头的实线表示,箭头指向父类 2.实现(Realization),带空心的虚线表示 3.关联(Association),类与类之间的关联,它使一 ...

  6. 【UML】如何记忆UML类图的画法

    前言 UML类图形象反映系统类之间的关系,大家非常常用.小弟不才,偶尔使用,往往每次使用都得查询各种关系的表示方式.终于,这次认真看了几遍,打算记起来. 注意 记忆方法只是本人联想,用于加强记忆.与该 ...

  7. UML类图(上):类、继承和实现

    面向对象设计 对于一个程序员来说,在工作的开始阶段通常都是别人把东西设计好,你来做.伴随着个人的成长,这个过程将慢慢变成自己设计一部分功能来实现,自己实现.如果要自己设计,无论是给自己看,还是给别人看 ...

  8. UML类图(下):关联、聚合、组合、依赖

    前言 上一篇文章UML类图(上):类.继承.实现,讲了UML类图中类.继承.实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联.聚合.组合.依赖, ...

  9. 四步轻松实现用Visio画UML类图

    本节和大家一起学习一下用Visio画UML类图的方法,主要有四个步骤,这里和大家分享一下,相信通过本节的学习,你对Visio画UML类图的步骤一定会有所了解. 用Visio画UML类图 对于画类图的工 ...

随机推荐

  1. spring-cloud-netflix-eureka-client

    服务注册中心eureka-server已经搭好,我们开始编写一个eureka-client,并提供一个hello服务 一.新建module,选择对应的springcloud模块,pom.xml如下: ...

  2. CSS 弹性盒子模型

    CSS 弹性盒子模型 https://www.w3.org/TR/2016/CR-css-flexbox-1-20160526/ CSS Flexible Box Layout Module Leve ...

  3. Node.js _dirname & path All In One

    Node.js _dirname & path All In One file path 相对路径 绝对路径 _dirname https://nodejs.org/docs/latest/a ...

  4. js 十大排序算法 All In One

    js 十大排序算法 All In One 快速排序 归并排序 选择排序 插入排序 冒泡排序 希尔排序 桶排序 堆排序(二叉树排序) 基数排序 计数排序 堆排序(二叉树排序) https://www.c ...

  5. How to unblock GitHub DMCA takedown repo

    How to unblock GitHub DMCA takedown repo 如何解封 GitHub DMCA takedown 的仓库 support@github.com 发件人: GitHu ...

  6. 高级数据结构之 BloomFilter

    高级数据结构之 BloomFilter 布隆过滤器 https://en.wikipedia.org/wiki/Bloom_filter A Bloom filter is a space-effic ...

  7. flutter & dart & vs code & bug

    flutter & dart & vs code & bug Waiting for another flutter command to release the startu ...

  8. true && number !== boolean

    true && number !== boolean bug let result = ``; // section, name ? create text, compute cent ...

  9. Flutter: The getter 'futureDynamicType' was called on null.

    > flutter packages pub upgrade

  10. 源码分析:Exchanger之数据交换器

    简介 Exchanger是Java5 开始引入的一个类,它允许两个线程之间交换持有的数据.当Exchanger在一个线程中调用exchange方法之后,会阻塞等待另一个线程调用同样的exchange方 ...