设计模式-2.2类之间的6种关系

2023-11-09

1.继承关系

2.实现关系

3.依赖关系

4.关联关系

5.聚合关系

6.组合关系

7.类图建模步骤

1.继承  extends

(泛化)在UML中用带空心三角形的实线表示。指向父类。

2.实现 implements

类实现接口,可多个。虚线空心三角形。

3.依赖 

对于类A和B,如果出现下面情况,称类A依赖类B(一个类里面方法参数是另一个类):

1.类A中某个方法的形参是类B类型;2.类A中某个方法的返回类型是类B类型;3.类A中某个方法中的局部变量是类B类型。

虚线箭头,箭头指向被依赖类

4.关联 

(一个类是另一个类的变量 private)如果B类中某个成员变量的类型是A类(接口) ,那么A和B是关联关系,称B关联于A。

实线箭头,箭头指向被关联类

5.聚合

如果B类中某个成员变量的类型是类(接口) A,表示类A与类B之间是整体与部分的关系,那么A和B是聚合关系。
在聚合关系中,成员对象是整体对象的一部分,但是成员对象可以脱离体对象独立存在。
通常在定义一个整体类后,再分析这个整体类的组成结构,从而找出一些成员类,该整体类和成员类之间就形成了聚合关系。例如一个球队有多个学生队员,那么球队就是整体类,学生就是成员类;一台计算机由CPU、硬盘、内存等构成,那么计算机就是整体类࿰

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设计模式-2.2类之间的6种关系 的相关文章

  • Web之html、css

    目录 前言 一 HTML 1 定义 2 标签 基本标签 表格标签 表单标签 其他标签及符号 3 属性 二 CSS 1 定义 2 标签选择器 3 基本样式设置 总结 前言 本文主要讲述后端开发者需要的基本web知识点 讲述了html css的
  • element ul中el-calendar日历组件自定义快捷选择年月

    需求 以日历形式展现当前页面 其中 年月可进行下拉选择 默认选中任意月份 用户可以自由点选日期 实现效果 时间筛选
  • linux 指令 间隔,Linux基础命令(五)

    Linux信息显示和搜索文件命令 1 uname 显示系统信息 参数 a显示所有信息 v显示内核版本 n显示主机名称 p显示处理器类型 r显示内核发行版本号 i显示硬件平台 m显示计算机硬件架构 root localhost dir una

随机推荐

  • Camera sensor 基本原理

    1 Camera 工作原理介绍 1 1 结构 一般来说 camera 主要是由 lens 和 sensor IC 两部分组成 其中有的 sensor IC 集成 了 DSP 有的没有集成 但也需要外部 DSP 处理 细分的来讲 camera
  • web基础(二)---------列表、表格、表单

    目录 一 前言 二 正文 1 列表 1 无序列表 2 有序列表 3 自定义标签 2 表格 3 表单 1 input 根据type属性不同 展示不同效果 2 input 占位符 提示信息 3 表单域 划分提交 重置的作用域 form 4 普通
  • Java类加载顺序大乱斗

    代码 加载涉及到静态与初始化 遵循以下规则 类加载从上往下执行 依次执行静态的初始化语句和初始化块 而且类加载优先于对象创建 静态初始化语句和初始化块只加载一次 创建本类的对象时 从上往下执行一次非静态的初始化语向和初始化块 最后执行构造函
  • Spring Boot+Mybatis实现增删改查接口开发+测试(超详细建议收藏)

    前言 Java也是测试必知必会的内容 特别是现在类似spring boot 等Java框架更是成为主流 之前实现的图书增删改查是用Python实现的 没看过的请移步 Flask mysql 实现增删改查接口开发 测试 图文教程附源码 本次给
  • Linux操作系统下取得UUID的方法

    Linux操作系统下取得UUID的方法 2008 12 2 13 40 查看数 1162 Linux下面 有专门生成UUID的命令 uuidgen r t 即可以生成一个32位的字符串 这个是在命令行得到 在 usr include lib
  • 软件工程复习笔记 第七章 --测试

    第七章 测试 前言 测试概述 测试定义 测试本质 软件测试要素 测试技术 测试类型 级别 测试管理 测试方法 静态测试 分析 走查 WalkThrough 审查 Inspection 评审 Review 同行 对等 评审 Peer Revi
  • 操作系统-线程

    说明 文中内容大部分都是大部分都是 操作系统 精髓与设计原理 第八版 的原文 自己做了一些删改 使其更易于理解 本章讲述一些与进程管理相关的高级概念 这些概念在很多现代操作系统中都可以找到 实际上 它包含了两个独立的概念 一个与资源所有权有
  • pytorch中的Linear Layer(线性层)

    LINEAR LAYERS Linear Examples gt gt gt m nn Linear 20 30 gt gt gt input torch randn 128 20 gt gt gt output m input gt gt
  • 实训笔记

    2018 12 17 上午 大数据概述 前置要求 java SE的基本变成 了解LINUX常用基本命令 使用工具 linux版本 CentOS 6 4 Hadoop CDH 5 7 TB PB EB 大数据在技术架构上带来的挑战 对现有数据
  • ML算法——Support Vector Machine随笔【机器学习】

    文章目录 4 Support Vector Machine SVM 4 1 理论部分 4 1 1 更优的决策边界 4 1 2 解决低维不可分问题 4 2 sklearn 实现 4 2 1 SVM 分类 SVC 4 2 2 SVM回归 SVR
  • c++与java的枚举

    Java枚举和C 枚举的主要区别为两点 一是C 中的枚举中只能定义常量 主要用于switch子句 二是C 中的枚举常量可以直接和数值型变量进行各种数学运算 java的枚举 枚举的是在Java 1 5SE 中开始支持的 以下为Java枚举的基
  • SpringBoot 提示:java.lang.IllegalStateException: No primary or default constructor found for interface

    SpringBoot集成MyBatis Plus 实现HTPP POST提交实体对象提示如下错误片段 c c c c a BaseControllerExceptionHandler 运行时异常 java lang IllegalState
  • spring cloud 常用的核心组件以及作用

    1 spring cloud 常用的核心组件 服务注册与发现 Netflix Eureka 客户端负载均衡 Netflix Ribbon 服务熔断器 Netflix Hystrix 服务网关 Netflix Zuul 服务接口调用 Netf
  • glUniform详解

    glUniform详解 glUniform API官方文档解释 Name glUniform Specify the value of a uniform variable for the current program object C
  • uniapp 引入 Vant 从零开始

    第一步 1 这里创建uniapp的项目 本人选择的是Vue2的 第二步 打开 Vant 官网 这里是使用Vant2的 切记别选择Vant3 不知道的可以点击 这里进入 Vant官网 点击上面的 微信小程序版本 进入这个界面后 点击 快速上手
  • LeetCode-重建二叉树

    先利用前序遍历找根节点 前序遍历的第一个数 就是根节点的值 在中序遍历中找到根节点的位置 k 则 k 左边是左子树的中序遍历 右边是右子树的中序遍历 假设左子树的中序遍历的长度是 l 则在前序遍历中 根节点后面的 l 个数 是左子树的前序遍
  • 51单片机点灯实验(含程序+仿真+硬件实验)

    一 实验原理 LED发光二极管核心为PN结 单向导电 有阴极和阳极 两极均可以控制 需要亮起来 电流不能过大和过小 过大 烧坏二极管 过小 电光效应弱 发光不明显 引入 限流电路 为减少I O引脚的消耗 一般控制一极 有阳极控制法和阴极控制
  • 【精华】搭建个人Web服务器_LAMP

    目录 项目名称 搭建个人Web服务器 LAMP 1 搭建模式 2 搭建步骤 3 常见问题解决方案 项目名称 搭建个人Web服务器 LAMP 1 搭建模式 LAMP 即Linux系统 Apache服务器 MySQL PHP 2 搭建步骤 第一
  • 计算机保存图片找不到桌面,保存的图片在桌面但是找不到。怎么办?

    1win7保存文件找不到桌面 文件有可能被隐藏 2win7保存文件找不到桌面 组策略发生异常 3win7保存文件找不到桌面 保存路径错误 4win7保存文件找不到桌面 explorerwin7保存文件找不到桌面 exe故障 调出 隐藏 文件
  • 设计模式-2.2类之间的6种关系

    1 继承关系 2 实现关系 3 依赖关系 4 关联关系 5 聚合关系 6 组合关系 7 类图建模步骤 1 继承 extends 泛化 在UML中用带空心三角形的实线表示 指向父类 2 实现 implements 类实现接口 可多个 虚线空心