UML图的各类符号解析
在UML图中通常有以下几种符号分别是:继承(泛化),实现,依赖,关联,聚合,组合
一,依赖:
符号表示:
表示一个类依赖于另一个类的定义
也就是说在A中有对于B的以下几种情况的调用
(1)局部变量
(2)方法的参数
(3)静态方法的调用
public classA
{
//局部变量
public void function1()
{
ClassB b=new ClassB();
b.operation1();
}
//方法参数
public void function(classB param)
{
...
}
//调用B中的静态方法
public void Function3()
{
ClassB.Operation2();
}
}
二,关联
关联说明A中含有B,也就说B是A的一个私有成员
三,聚合
聚合关系是关联关系的一种,表示一种强的关联关系。
关联关系 |
聚合关系 |
两个类是在同一个层次上的 |
两个类处于不同的层次 |
在“聚合关系中”,体现了一种若拥有的概念,也就说,对象A拥有对象B,但是B并不是A的组成部分,也就是说A和B不是共存亡了,当A对象被销毁 的时候,B可能也是同样存在的
也就是说,B可以放在A的构造函数中,也可以不放在A的构造函数中
四,组合
组合关系也叫作合成关系,组合关系强调了比聚合关系更加强的整体/部分的关联,例如人的四肢,和聚合关系不同的是,在组合关系中,虽然局部不一定随着整体的销毁而销毁,但整体要么负责局部的存活状态,要么负责将其销毁。
如果A和B之间是组合关系,那么B一定是在A的构造函数中被声明的
五,泛化和实现
泛化:是继承抽象类
实现,实现接口
UML图的各类符号解析相关推荐
- Visio画UML图基本操作及技巧解析
Visio如何添加枚举类型 1. 新建DataType 2. 选择DataType -> Property -> Stereotype -> enumeration 3. 添加其他 ...
- python解析visio_Visio画UML图基本操作及技巧解析
本文和大家重点讨论一下用Visio画UML图基本操作,画UML图有好多种工具,VISIO只是其中一种,VISIO的动作非常轻快.很多人都在用.下面就让我们一起来看一下具体介绍吧. 用Visio画UML ...
- 使用Visio画UML图(Java)
2019独角兽企业重金招聘Python工程师标准>>> 1.全面认识UML类图元素:http://cqujsjcyj.iteye.com/blog/387546 2.类UML2:ht ...
- 设计模式(一)----设计模式概述及UML图解析
1.设计模式概述 1.1 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中. 1977年美国著名建筑大师.加利福尼亚大学伯克利分校环境结构 ...
- idea uml图各符号含义_java利器之UML类图详解(IDEA)
一.概述 类图(Class Diagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础. 类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系的一种静态模型. 类图不仅用于可 ...
- uml 菱形_UML类图的各符号含义
UML 类图的各符号含义 类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形.由这些基本 的图形进行组合构成了类图的基本符号.这里要注意这几个符号的顺序,代表了类与类之间 ...
- 【设计模式】UML类图关系与符号
文章目录 一.UML简介 1.1 UML类图常用关系 1.2 UML模型结构 1.3 UML类的表示 二.类之间的关系 2.1 泛化(Generalization) 2.2 实现(Realizatio ...
- SVG与UML图详解
一.SVG 可缩放矢量图形(SVG)是W3C的推荐标准,它使用XML描述两维图形结构和图形应用,可以在Web浏览器.手持设备或移动电话等多种上显示.目前稳定版本为1.1版,最新的版本是以草案形式存在的 ...
- UML的9种图例解析
类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什 ...
- UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什 ...
最新文章
- haproxy负载均衡_做负载均衡Nginx、HAProxy和LVS总有一个适合你
- Pycharm安装PyQT5调用QTDesigner
- 可真有你的!EasyEdge模型压缩新姿势……
- 简单绘图软件实现mfc大作业_纸笔书写|可直播可微课可写作业可批改的手写板,快来爱“我”吧...
- linux oracle em使用,Linux平台下启动oracle 11g EM控制台
- 如何让jpa 持久化时不校验指定字段
- VS如何定制自己的模板信息
- eclipse运行jsp文件时出现乱码解决方法
- Freeman链码,差分码,归一化链码,归一化差分码
- 2020-03-28
- 用.NET做动态域名解析
- AMD发布23.2.1 新驱动 支持开年新作《魔咒之地》
- 查看linux版本的命令
- html数据复制粘贴,如何复制和粘贴 HTML (HTML)
- 校招秋招面经整理及复习规划
- HTML 六十二 实例
- 科普转载 CSS Pre-processors
- 电脑关机蓝屏,然后自动重启的问题解决。
- UEditor 解决拖拽视频元素改变视频尺寸时,无法保存视频尺寸问题的解决方法
- t3财务系统访问服务器很慢,用友T3软件以前用的是WINDOWS自带的经典桌面,但换成其他桌面后发现远程接入软件使用时的访问速度明显变慢?-用友T3...