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类图及类与类之间的关系总结(详解)的更多相关文章

  1. 创建Oracle数据库、数据库名与实例名与SID之间的关系(图文详解)

    分类: Oracle(9) 版权声明:转载请注明出处 JmilkFan_范桂飓:http://blog.csdn.net/jmilk 目录(?)[+] 目录 目录 软件环境 前言 安装Oracle监听 ...

  2. 如何理解VB窗体中的scale类属性及width height属性之间的关系

    如何理解VB窗体中的scale类属性及width height属性之间的关系 VB中的SCALEHIEGT,SCALEWIDTH,与窗体中的WIDTH,HEIGHT的区别及关系是许多VB初学者难以理解 ...

  3. 第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解

    第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解 一.    引言 上两节介绍了构造方法的语法及参数,说明了构造方法是Python的类创建实例后首先执行的方法,并说明如果类 ...

  4. 路飞前台全局css 全局配置文件,安装axios,安装vue-cookies,安装elementui,安装bootstrap和jq,后台主页模块表设计,后台主页模块轮播图接口,录入数据,跨域问题详解

    目录 路飞前台全局css 全局配置文件,安装axios,安装vue-cookies,安装elementui,安装bootstrap和jq,后台主页模块表设计,后台主页模块轮播图接口,录入数据,跨域问题 ...

  5. UML类图(二)--------类与类之间的关系之依赖,继承,接口与实现关系

     依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系.大多数情况下,依赖关系体现在某个类的方法使用另一个类 ...

  6. UML类图(二)----------类与类之间的关系之关联(聚合与组合)

    类与类之间的关系: 在软件系统中,类并不是孤立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式.       1. 关联关系 关联(Association)关系是类与类之 ...

  7. 【设计模式】UML类图及Java的类之间的关系

    UML类图展示 设计模式中的对象关系 关联和依赖的对比 依赖关系 虚线箭头 依赖是a类成员方法中有b类的属性,动物新陈代谢方法中有水和空气的属性,只有调这个方法的时候,才可能临时用一下 关联关系 实线 ...

  8. UML类图中最重要的几种类关系及其表示

    阅读UML图最常见到的类与类之间的关系有如下几种: 1.依赖关系 依赖关系是指一个类在计算时,应用了“另一个类”类型的参数,这种关系是偶然.临时.弱的. UML类图中,依赖关系用带单箭头的虚线表示,即 ...

  9. 类图和对象图教程-类(Class)、接口(Interface)、协作(collaboration)、依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)以及实现关系(Realization)

    类图的概念 (转) 一.概述 类图(Class Diagram)是描述类.接口.协作以及它们之间关系的图,用来显示系统中各个类的静态结构.类图是定义其他图的基础,在类图基础上,可以使用状态图.协作图. ...

  10. 第8.5节 Python类中的__new__方法和构造方法__init__关系深入剖析:执行顺序及参数关系案例详解

    上节介绍了__new__()方法这个比构造方法还重要的方法的语法,本节通过案例来详细剖析__new__()方法的细节以及它与构造方法之间的关系. 一.    案例说明 本节以圆Cir类为例来说明,为了 ...

随机推荐

  1. 2025最新国产用例管理工具评测:Gitee Test、禅道、蓝凌测试、TestOps 哪家更懂研发协同?

    国产测试用例管理工具横向评测:如何选择最适合团队的解决方案? 在软件研发日益复杂化的今天,测试用例管理工具已成为DevOps流程中不可或缺的一环.随着国产研发工具的崛起,市场上涌现出多款各具特色的测试 ...

  2. LiveNVR安防摄像头Web无插件直播平台页面的快速集成方法

    Onvif/RTSP流媒体服务 适合局域网络监控,将摄像机的rtsp流拉转分发,搭建试用入口 演示地址 http://nvr.liveqing.com 关闭接口鉴权 允许游客访问 默认的接口鉴权是开启 ...

  3. Linux虚拟机Nginx代理vue前端与SpringBoot后端资源

    1.Nginx 安装配置 详细参见菜鸟教程:https://www.runoob.com/linux/nginx-install-setup.html 2.nginx.conf内容 user ngin ...

  4. Linux主机添加Windows字体

    步骤:1.mkdir /usr/share/fonts/windows2.先从你本机 C:\Windows\Fonts 拷贝或者网络上下载你想要安装的字体文件(*.ttf文件)到/usr/share/ ...

  5. LaTeX编译运行常见报错及解决方案

    LaTeX编译运行常见报错及解决方案 常见问题 0. 环境变量 首先查看系统环境变量Path是否正常,以下为常用值,最后texlive为你本地的安装路径. C:\Windows\system32 C: ...

  6. Linux系统Oracle常见操作

    一. 登录 1.1    登录默认数据库 首先切换到oracle用户,用数据库默认管理员登录. [root@tsm-zh01 ~]# su – oracle [oracle@redhat ~]$ ls ...

  7. 记录一个关于VUE使用elementui,修改el-popover组件样式失效的问题

    正常修改组件的样式,在当前vue文件的<style></style>标签中写样式即可,但是el-popover组件比较特殊 它最终渲染的标签与vue中的app.vue文件中的根 ...

  8. 到底要不要 Vibe Coding ?

    从近期社群讨论话题来看,Vibe Coding 话题依然持续火热.作为一名 Vibe Coding 的深度用户,已经连续开发并上线了好几个产品(比如:TransDuck.OpenWrite.Unifi ...

  9. 一款由网易出品的免费、低延迟、专业的远程控制软件,支持手机、平板、Mac 、PC、TV 与掌机等多设备远控电脑!

    前言 在多设备协同日益普及的今天,高效.流畅的远程控制已成为工作与生活的刚需.网易出品的这款免费远程控制软件,凭借低延迟.高画质与跨平台兼容性,轻松实现手机.平板.Mac.PC.TV 乃至掌机对电脑的 ...

  10. win修改oracle scn小工具(patch scn)

    联系:手机/微信(+86 17813235971) QQ(107644445) 标题:win修改oracle scn小工具(patch scn) 作者:惜分飞版权所有[未经本人同意,不得以任何形式转载 ...