文章目录

  • 1 类的基本表示方式
  • 2 类之间关系的表示方式

所有的面向对象(Object Oriented)语言都离不开类的概念,理解了程序中类的设计也就理解了程序的一半。但类的具体描述方式在各个类中都不一样,UML类图的提出是为了能够脱离语言的限制,抽象地描述各个类的信息及各个类之间的关系。这是UML类图的作用。

1 类的基本表示方式

在UML类图中,每一个矩形代表一个类。我们举一个简单的例子:

这是一个代表车辆的类。

一般的类图分为三个部分。部分类图有五个部分。

第一部分为类名,如果类名用正体书写则说明这是可以实例化的普通类。如果类名用斜体书写,则说明这是抽象类。如果类名有下划线修饰则说明这是静态类。

第二部分为类内的属性,格式为修饰符 属性名 :属性类型。修饰符为“+”说明该属性为public型,“#”说明该属性为protected型,“-”说明该属性为private型。

第三部分为类内的方法,格式为修饰符 方法名 (参数名1:参数类型1,……):方法返回值类型。修饰符为“+”说明该方法为public型,“#”说明该方法为protected型,“-”说明该方法为private型。如果方法名有下划线修饰则说明这是静态方法。

如果类图中需要描述类的性质,则放在第四部分描述。如果类内有内部类,则放在第五部分描述。

如果类图描述的是一个接口,在接口名的上方需要加上《interface》的修饰符。同时该类图仅有两个部分,接口名和接口的方法。

对于任何一张类图,只要对照上面的说明就可以解读出含义。

2 类之间关系的表示方式

类之间的关系有继承关系,实现关系,依赖关系,关联关系,聚合关系,组合关系。

1.继承关系

继承关系使用如下箭头:

由子类指向父类。

2.实现关系

实现关系使用如下箭头:

有实现类指向接口

3.依赖关系

依赖关系使用如下箭头:

由使用者指向被使用者。

如果A指向B,则说明A中使用了B,使用方式包括A类中有B类实例化对象的局部变量。A类中有方法把B类实例化对象当做了参数,A类中有方法调用了B类中的静态方法。

4.关联关系

关联关系使用如下箭头:

由拥有者指向被拥有者。

如果A指向B,则说明A类中有B类的成员变量。

5.聚合关系

聚合关系使用如下箭头:

由整体指向部分。

如果A指向B,则说明A类中有B类的成员变量,但是与关联关系不同,A类和B类有逻辑关系。A类是整体,B类是部分。A类由B类构成,同时B类即便不在A类中也可以单独存在。

6.组合关系

组合关系使用如下箭头:

由整体指向部分。

如果A指向B,则说明A类中有B类的成员变量,但是与关联关系不同,A类和B类有逻辑关系。A类是整体,B类是部分。A类由B类构成。但与聚合关系不同,如果B类不在A类中就无法单独存在。

两个类之间究竟是聚合还是组合完全由类的设计决定。

【系统分析与设计】UML类图绘制方法(真の能看懂~!)相关推荐

  1. 软件设计-UML类图详解说明

    一. UML类图思维导图 二. 详细分析和介绍 下面就从上面的思维导图开始,详细的介绍UML类图! 1. 什么是UML,概念是什么? UML(Unified Modeling Language)中文统 ...

  2. UML类图绘制_常见设计模式

    UML类图 常用的类图元素 UML类图的应用 创建型模式 简单工厂模式 工厂方法模式 抽象工厂模式 建造者模式 单例模式模式 结构型模式 适配器模式 桥接模式 装饰模式 门面模式 享元模式 代理模式 ...

  3. Java开发设计——UML类图

    此博客系转载:https://www.cnblogs.com/shamao/p/10875550.html 摘要:本文主要介绍了UML类图的相关知识. 1.简介 在UML中,类使用包含类名.属性和操作 ...

  4. UML类图中方法(操作)的表示格式

    网上很少看到针对于类图中方法的格式进行探讨的文章,而类图本身也不是那么的死板,但是一些既定的规则.通用性的格式,使用起来还是会更加便于理解与分享.下面讲一下类图中方法的规范表示方式. [可视性]操作名 ...

  5. 【系统分析与设计】业务流程图绘制方法

    文章目录 1 符号表示 2 例子 1 符号表示 2 例子

  6. 实用设计软件,自带精美UML类图模板快速作图

    UML类图是什么呢?UML是在计算机软件中的一种建模语言,UML图是设计软件.程序的建模工具.UML图又包括用例图.类图.对象图.活动图等九种图形,他们分别有着不同的作用.UML类图是设计UML图中的 ...

  7. android 继承类图,Android Studio中绘制UML类图介绍

    Android Studio中绘制UML类图介绍 Android Studio中绘制UML类图介绍 动机 最近开始阅读项目源码,从其中一个模块开始看,奈何大项目中的一个模块,对于萌新而言,也太过于复杂 ...

  8. uml 类图 网上书店_UML作业第三次:分析《书店图书销售管理系统》,绘制类图...

    分析书店图书销售管理业务,提取相关的类,并画出类图 一.要求及步骤 step1:学习PlantUML类图绘制方法,学习(链接:http://plantuml.com/zh/): step2:以< ...

  9. 身为程序员还看不懂UML类图? 一文带你零基础学会看UML类图!

    身为程序员还看不懂UML类图? 一文带你零基础学会看UML类图! 一,UML类图示例图 二,UML类图图例 三,分步解析说明 3.1 类图: 3.2 接口: 3.3 实现继承 3.4 实现接口: 3. ...

最新文章

  1. 舒工深度解析不规则场地座位二维码生成规则
  2. Mongodb 请求处理流程
  3. SVN checkout
  4. 017_CSS长度单位
  5. 二年级的数学题,10个人有9个人做错,你能做对吗?
  6. steps/align_si.sh
  7. SparkWeb 编译
  8. 摄像头poe供电原理_弱电知识之六:跟我学做监控,认识POE交换机与POE监控摄像头...
  9. 如果 “ 2X ”的补码是“ 90H ”,那么 X 的真值是( )。
  10. 【vue-number-scroll】数字逐渐增加或者减少的滚动解决方案
  11. Redis入门篇(安装与启动)
  12. Mongo DB命令简介
  13. 一个非常好用的插件-FeHelper
  14. 身体就是控制器,微软Kinect是怎样做到的?
  15. 网易2017春招[编程题]赶去公司@Java
  16. android友盟微信分享到朋友圈,干货,Umeng分享纯图片(避免跳坑)到_微信,朋友圈等...
  17. MAC结合LINUX进行Jmeter进行java代码压力测试
  18. 江苏高考时间2021成绩查询,2021年江苏高考成绩什么时候出来 公布时间
  19. 芯片IC测试专栏—ESD与TLP
  20. Git 设置用户名和邮箱

热门文章

  1. 堆和栈组合:双端队列c++
  2. 编译出错libicui18n.so.58: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8‘
  3. Can't get source for site-packages\torchvision\ops\poolers.py. TorchScript requires source access in
  4. 未将对象引用设置到对象的实例
  5. VOC2007基本信息
  6. 'module' object is not callable
  7. ospf 中传输网络和传输区域的概念?
  8. Cissp-【第2章 资产安全】-2021-1-14(163页-185页)
  9. 左侧固定右侧自动填充_办公小技巧:解决Excel公式自动填充问题
  10. python c参数,CPython – 读取C函数内的Python字典(键/值)作为参数传递