UML类图及类与类之间的关系总结(详解)
1.类图各部分构成

属性名和方法名前的 -,+,#,~代表其可访问性
1>"-" 代表"private" 表示私有权限,仅允许本类访问,任何其他类或子类都无法访问
2>"+" 代表"pubic" 表示公有权限,允许任意类访问该属性或方法
3>"#" 代表"protected" 意味着属性和方法收到保护,只能由同一个类或子类访问
4>"~" 代表"package/default" 意味着只要在同一个包下,任何类都可以访问
2.类与类之间的关系
1>继承(泛化):空心三角,实线。继承父类由"+,#"修饰的属性和方法,同时自己本身可以新增特有的属性和方法

说明:Cat继承了Animal,Cat为子类,Animal即为父类
2>依赖:虚线箭头。 A的属性变化可能影响到B,此时可存在B依赖A的关系
3>关联:实线。
i. 双向关联,无箭头实线
ii.单向关联,有箭头实线
4>聚合: 空心菱形实线。部分聚合为整体,部分可随时离开整体独立出来。

说明:引擎(Engine)聚合为汽车(Car),但是引擎可单独脱离汽车
5>组合:实心菱形实线。部分组合为整体,不可脱离整体。

说明:卧室和厨房组合为房间,卧室和厨房不能脱离房间单独存在,并且房屋被拆,卧室和厨房都会将无法存在
6>实现:空心三角虚线指向接口。
3.对比总结
实线 vs 虚线
- 实线:结构性关系(关联、聚合、组合、泛化)
- 虚线:临时性关系(依赖、实现)
箭头含义
- 有箭头:表示方向性(知道的方向)
- 无箭头:表示双向知道
关联的特殊形式
- 聚合:空心菱形,表示"has-a"关系,部分可独立存在
- 组合:实心菱形,表示"contains-a"关系,部分依赖整体
UML类图及类与类之间的关系总结(详解)的更多相关文章
- 创建Oracle数据库、数据库名与实例名与SID之间的关系(图文详解)
分类: Oracle(9) 版权声明:转载请注明出处 JmilkFan_范桂飓:http://blog.csdn.net/jmilk 目录(?)[+] 目录 目录 软件环境 前言 安装Oracle监听 ...
- 如何理解VB窗体中的scale类属性及width height属性之间的关系
如何理解VB窗体中的scale类属性及width height属性之间的关系 VB中的SCALEHIEGT,SCALEWIDTH,与窗体中的WIDTH,HEIGHT的区别及关系是许多VB初学者难以理解 ...
- 第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解
第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解 一. 引言 上两节介绍了构造方法的语法及参数,说明了构造方法是Python的类创建实例后首先执行的方法,并说明如果类 ...
- 路飞前台全局css 全局配置文件,安装axios,安装vue-cookies,安装elementui,安装bootstrap和jq,后台主页模块表设计,后台主页模块轮播图接口,录入数据,跨域问题详解
目录 路飞前台全局css 全局配置文件,安装axios,安装vue-cookies,安装elementui,安装bootstrap和jq,后台主页模块表设计,后台主页模块轮播图接口,录入数据,跨域问题 ...
- UML类图(二)--------类与类之间的关系之依赖,继承,接口与实现关系
依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系.大多数情况下,依赖关系体现在某个类的方法使用另一个类 ...
- UML类图(二)----------类与类之间的关系之关联(聚合与组合)
类与类之间的关系: 在软件系统中,类并不是孤立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式. 1. 关联关系 关联(Association)关系是类与类之 ...
- 【设计模式】UML类图及Java的类之间的关系
UML类图展示 设计模式中的对象关系 关联和依赖的对比 依赖关系 虚线箭头 依赖是a类成员方法中有b类的属性,动物新陈代谢方法中有水和空气的属性,只有调这个方法的时候,才可能临时用一下 关联关系 实线 ...
- UML类图中最重要的几种类关系及其表示
阅读UML图最常见到的类与类之间的关系有如下几种: 1.依赖关系 依赖关系是指一个类在计算时,应用了“另一个类”类型的参数,这种关系是偶然.临时.弱的. UML类图中,依赖关系用带单箭头的虚线表示,即 ...
- 类图和对象图教程-类(Class)、接口(Interface)、协作(collaboration)、依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)以及实现关系(Realization)
类图的概念 (转) 一.概述 类图(Class Diagram)是描述类.接口.协作以及它们之间关系的图,用来显示系统中各个类的静态结构.类图是定义其他图的基础,在类图基础上,可以使用状态图.协作图. ...
- 第8.5节 Python类中的__new__方法和构造方法__init__关系深入剖析:执行顺序及参数关系案例详解
上节介绍了__new__()方法这个比构造方法还重要的方法的语法,本节通过案例来详细剖析__new__()方法的细节以及它与构造方法之间的关系. 一. 案例说明 本节以圆Cir类为例来说明,为了 ...
随机推荐
- 2025最新国产用例管理工具评测:Gitee Test、禅道、蓝凌测试、TestOps 哪家更懂研发协同?
国产测试用例管理工具横向评测:如何选择最适合团队的解决方案? 在软件研发日益复杂化的今天,测试用例管理工具已成为DevOps流程中不可或缺的一环.随着国产研发工具的崛起,市场上涌现出多款各具特色的测试 ...
- LiveNVR安防摄像头Web无插件直播平台页面的快速集成方法
Onvif/RTSP流媒体服务 适合局域网络监控,将摄像机的rtsp流拉转分发,搭建试用入口 演示地址 http://nvr.liveqing.com 关闭接口鉴权 允许游客访问 默认的接口鉴权是开启 ...
- Linux虚拟机Nginx代理vue前端与SpringBoot后端资源
1.Nginx 安装配置 详细参见菜鸟教程:https://www.runoob.com/linux/nginx-install-setup.html 2.nginx.conf内容 user ngin ...
- Linux主机添加Windows字体
步骤:1.mkdir /usr/share/fonts/windows2.先从你本机 C:\Windows\Fonts 拷贝或者网络上下载你想要安装的字体文件(*.ttf文件)到/usr/share/ ...
- LaTeX编译运行常见报错及解决方案
LaTeX编译运行常见报错及解决方案 常见问题 0. 环境变量 首先查看系统环境变量Path是否正常,以下为常用值,最后texlive为你本地的安装路径. C:\Windows\system32 C: ...
- Linux系统Oracle常见操作
一. 登录 1.1 登录默认数据库 首先切换到oracle用户,用数据库默认管理员登录. [root@tsm-zh01 ~]# su – oracle [oracle@redhat ~]$ ls ...
- 记录一个关于VUE使用elementui,修改el-popover组件样式失效的问题
正常修改组件的样式,在当前vue文件的<style></style>标签中写样式即可,但是el-popover组件比较特殊 它最终渲染的标签与vue中的app.vue文件中的根 ...
- 到底要不要 Vibe Coding ?
从近期社群讨论话题来看,Vibe Coding 话题依然持续火热.作为一名 Vibe Coding 的深度用户,已经连续开发并上线了好几个产品(比如:TransDuck.OpenWrite.Unifi ...
- 一款由网易出品的免费、低延迟、专业的远程控制软件,支持手机、平板、Mac 、PC、TV 与掌机等多设备远控电脑!
前言 在多设备协同日益普及的今天,高效.流畅的远程控制已成为工作与生活的刚需.网易出品的这款免费远程控制软件,凭借低延迟.高画质与跨平台兼容性,轻松实现手机.平板.Mac.PC.TV 乃至掌机对电脑的 ...
- win修改oracle scn小工具(patch scn)
联系:手机/微信(+86 17813235971) QQ(107644445) 标题:win修改oracle scn小工具(patch scn) 作者:惜分飞版权所有[未经本人同意,不得以任何形式转载 ...