UML类图简单学习 各种对象、关系UML表示法
《大话设计模式》上面的UML类图:

类的UML表示
动物 的矩形框 表示是一个类。
![]()
类图分为三层,第一层显示类的名称,如果是抽象类,则用斜体表示;第二层是类的特性,通常就是类的字段和属性;第三层显示类的操作,通常就是方法或行为。
前面的“+”表示是public,“-”表示是private,“#”表示是protected。
接口的UML表示
![]()
接口的UML表示与类图的区别主要是顶端有<<interface>>显示,第一行是接口名称,第二行是接口的方法。
接口还有另外一种表示方法,俗称棒棒糖表示法,如上图。圆圈旁为接口的名称。
继承的UML表示
![]()
继承关系用 空心三角形+实线 来表示。
实现接口的UML表示
![]()
如上图,Professor和Student类实现了接口 Person,实现接口用UML表示是 空心三角形+虚线 来表示。
关联关系用UML的表示
![]()
关联关系用实线箭头来表示。
聚合关系的UML表示
![]()
聚合表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用空心菱形+实线箭头表示。
连线两边有两个数字,这被称作基数。表明这一端的类可以有几个实例。汽车有1个引擎,4个轮胎
合成关系UML
![]()
合成关系是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。合成关系用实心的菱形+实线箭头表示。
依赖关系UML图
![]()
动物依赖于水和氧气,他们之间是依赖关系。用虚线箭头表示!
参考资料:《大话设计模式》
其它参考链接:
UML基本表示法:http://www.yiibai.com/html/uml/2013/0809103.html
UML类图简单学习 各种对象、关系UML表示法的更多相关文章
- UML类图中的几种关系总结
UML类图,描写叙述对象和类之间相互关系的方式包含:依赖(Dependency).关联(Association).聚合(Aggregation).组合(Composition).泛化(G ...
- UML类图详解_泛化关系
泛化其实就是继承关系,还是比较简单的,那么我们就把之前有些问题的博客UML类图重新来实现一次. 依旧是这个图 下面我们来看一个例子 Account.h #include <cstdlib> ...
- UML类图中的几种关系的画法和含义
UML的类图中,一共有以下六大关系: 泛化(Generalization), 实现(Realization), 依赖(Dependence),关联(Association),聚合(Aggregatio ...
- UML类图简单介绍
先上一张图: 概述 类图(Class Diagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系的一种静态模型. 类图组 ...
- UML类图常见的几种关系
关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) ...
- UML类图简单说明,学习编程思路的必会技能
摘抄记录学习用 先看一张图,图片资源来自于大话设计模式,接下来我要跟着这本书一起走,如侵权,立即删除. 看见上图估计没学过或者不是本专业的没接触过的人,看这一堆估计就不想看了,但别怕一个一个分析. 一 ...
- 设计模式学习(二):面向对象设计原则与UML类图
一.UML类图和面向对象设计原则简介 在学习设计模式之前,需要找我一些预备知识,主要包括UML类图和面向对象设计原则. UML类图可用于描述每一个设计模式的结构以及对模式实例进行说明,而模式结构又是设 ...
- UML类图五种关系与代码的对应关系
转: UML类图中的五种关系的耦合强弱比较:依赖<关联<聚合<组合<继承 一.依赖关系: (一)说明 虚线+箭头 可描述为:Uses a 依赖是类的五种关系中耦合最小的一种关系 ...
- UML类图常见关系总结
Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realizat ...
随机推荐
- 大明A+B(hdu1753)大数,java
大明A+B Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- Go 语言相关的优秀框架,库及软件列表
If you see a package or project here that is no longer maintained or is not a good fit, please submi ...
- HDU3062(2-SAT)
Party Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- php生成word,并下载
1.前端代码 <!DOCTYPE html> <html> <head> <title>PHP生成Word文档</title> <me ...
- vue-router重定向 不刷新问题
前阵子太忙了,自己一个人一边开发着新项目,一边维护着旧项目,没时间写博客,终于让我腾出时间了.废话少说,开始正文. 问题描述: 之前项目是angular开发的,后来用vue重构后.项目路径和vue路径 ...
- windows环境下IP多访问
1.E:\wamp64\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.conf 添加: <VirtualHost *:80> Server ...
- 全局eslint不生效的处理
react项目里能用上 eslint 的 airbnb 规范真是的,对自己的编码有很好的帮助,不经可以养成良好的代码风格,而且还能检测出 state或者变量 是否 使用过, 然而,所在团队的小伙伴们, ...
- css BFC布局及用处
http://www.cnblogs.com/lhb25/p/inside-block-formatting-ontext.html 这篇文章讲的很简单很实用
- 加速JDBC的快捷方法
JAVA 应用必须通过 JDBC 从数据库中取数,有时候我们会发现,数据库的负担一点也不重而且 SQL 很简单,但取数的速度仍然很慢.仔细测试会发现,性能瓶颈主要在 JDBC 上,比如 MySQL 的 ...
- Win10命令行激活 & 电脑组装
系统激活: 1. 管理员身份运行 cmd 2. slmgr.vbs /upk ...