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类为例来说明,为了 ...
随机推荐
- VUE+SpringBoot环境准备
一.nodejs下载地址 官网:https://nodejs.org/zh-cn/ 其它版本:https://nodejs.org/zh-cn/download/releases/ 源码地址:http ...
- xib创建自定义view
转载请注明出处!!! 1.oc版 + (instancetype)viewFromXib { NSBundle* bundle = [NSBundle mainBundle]; NSString* c ...
- Day01 - Java 基础①
## 任务1. 标示符2. Java的用途3. Java的常量和变量4. Java的数据类型5. Java的运算符6. Java的流程控制语句 -- if## 课程进度1. Java ...
- Java编译全过程解密:从源码到机器码的奇幻之旅
引言:Java程序的诞生与成长 当我们编写完一个Java程序,从点击"运行"到看到结果,背后发生了什么?这个看似简单的过程,实际上经历了一场精彩的编译之旅.Java的编译过程分为前 ...
- 从MESA模型到锁升级:synchronized性能逆袭的底层逻辑
管程(Monitor)是一种用于管理共享资源访问的程序结构,能确保同一时刻只有一个线程访问共享资源,解决并发编程中的互斥和同步问题.MESA模型是管程的经典实现,主要由入口等待队列和条件变量等待队列构 ...
- 2021年前端面试题-vue篇
1.多个组件之间如何拆分各自的state,每块小的组件有自己的状态,它们之间还有一些公共的状态需要维护,如何思考这块 (1)公共的数据部分可以提升至和他们最近的父组件,由父组件派发 (2)公共数据可以 ...
- ArrayPool.Shared解说
ArrayPool简介 .NET 中频繁创建和销毁数组的情况下会导致垃圾回收器出现严重的内存压力,ArrayPool<T> 通过池化手段有效地降低了数组的分配和垃圾回收器的回收压力,同时 ...
- Lec 04 系统调用
Lec 04 系统调用 目录 Lec 04 系统调用 Contents 4.1 系统调用 4.1.2 AArch64下常见的Linux系统调用 4.1.3 系统调用举例 4.1.3 系统调用的参数传递 ...
- 【Mongodb】事务
概述 Mongodb 4.0 支持副本集的多文档事务 Mongodb 4.2 支持分片集群的多文档事务 单个Server是不支持使用事务,所以要学习事务,需要搭建一个副本集/分片集群 另外需要说明是, ...
- 二手商城系统+SpringBoot + Vue (前后端分离)
大家好,今天给大家带来一个超级简单的 二手商城系统.大家可用学习下系统的设计和源码风格. 视频演示 https://githubs.xyz/show/6c2d354c-0102-4295-92eb-f ...