当前位置: 首页 > news >正文

类之间的关系

1、类关系

继承、实现、依赖、组合、聚合
继承:一个类继承另一个类;
实现:一个类实现另一个接口;
依赖:一个类作为另一个的局部变量,方法的参数,临时对象等;
组合:一个类中使用了另一个类,如作为成员变量等属性,该类和类中的该成员变量生命周期一致;
聚合:一个类中使用了另一个类,如作为成员变量等属性,该类和类中的该成员变量生命周期不一致,二者可以分隔存在。

//继承
class ClassA extends Base{}
ClassA --|> Base
//实现
class ClassB implements ICallback{}
ClassB ..|> ICallback
//依赖
class Parm{}
class ClassC{+doThings(Parm)
}
ClassC ..> Parm
//组合
class Combination{}
class ClassD{Combination combination
}
ClassD --* Combination
//聚合
class Polymerization{}
class ClassE{Polymerization polymerization
}
ClassE --o Polymerization

在这里插入图片描述

相关文章:

类之间的关系

1、类关系 继承、实现、依赖、组合、聚合 继承:一个类继承另一个类; 实现:一个类实现另一个接口; 依赖:一个类作为另一个的局部变量,方法的参数,临时对象等; 组合:一个类…...

【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统

p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统 p40对象引用、变量有效性p41实现键盘控制物体自转创建bool值控制旋转实现通过键盘控制自转 p42p43简单点名系统Get All Actors Of Class(获得场景中所有该类的actor演员)getFor Each L…...

vscode设置远程登录和免密登录

首先,我们去官网下载VScode 安装过程比较简单,大家自行安装即可,注意建议安装在除C盘外的其他盘中。 安装完成后,打开我们下载好的VScode,点击左侧的Extensions选项,搜索Remote,Install第一项R…...

今日头条面试真题及答案,软件测试工程师面试秘籍

试题1.在浏览器地址栏里输入一个网址,接下来会发生什么? 答案:发生的操作如下。 (1)浏览器查找该网址的IP地址。 (2)浏览器根据解析得到的IP地址向Web服务器发送一个HTTP请求。 &am…...

JavaScript Windows 浏览器对象模型

Window 对象 BOM 的核心就是 window 对象所有浏览器都支持 window 对象。它表示浏览器窗口。所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。全局变量是 window 对象的属性。全局函数是 window 对象的方法。HTML DOM 的 document 也是 window 对象的属…...

【uniapp 获取缓存及清除缓存】

小程序及H5 获取缓存: 使用uniapp中的wx.getStorageInfoSync()方法可以获取当前小程序或H5应用的本地缓存信息,如下所示: let storageInfo uni.getStorageInfoSync() console.log(storageInfo)其中,storageInfo是一个对象&…...

【vim 学习系列文章 2 - vim 常用插件配置】

文章目录 1.1 vim 常用插件1.1.1 vim 插件 Pathogen 管理1.1.2 vim 常用插件推荐1.1.3 vim Leaderf1.1.4 vim ripgrep 工具1.1.5 vim Leaderf 配合 rg1.1.6 vim autocmd 配置 1.2 其它类型文件 vimrc 配置1.2.1 System Verilog vimrc 配置 上篇文章:vim 学习系列文章…...

【外卖系统】修改菜品

需求分析 在菜品管理列表页面点击修改按钮,跳转到修改页面,在修改页面回显菜品相关信息并进行修改,在最后点击确定按钮完成修改操作 代码设计 页面发送ajax请求,请求服务端获取分类数据,用于菜品分类下拉框中数据显…...

【暑期每日一练】 day11

目录 选择题 (1) 解析: (2) 解析: (3) 解析: (4) 解析: (5) 解析: 编程题 题一 描…...

神经概率语言模型

本文主要参考《A Neural Probabilistic Language Model》这是一篇很重要的语言模型论文,发表于2003年。主要贡献如下: 提出了一种基于神经网络的语言模型,是较早将神经网络应用于语言模型领域的工作之一,具有里程碑意义。采用神经网络模型预测下一个单词…...

什么是shadow DOM?

Shadow DOM(影子DOM)是一种用于在Web组件中封装HTML、CSS和JavaScript的技术。它是Web组件的一个重要特性,旨在将组件的结构、样式和行为封装在一个独立的、隔离的DOM树中,从而与主文档的DOM树相互隔离。 传统的Web开发中&#x…...

我的 365 天创作纪念日

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…...

spark-sql : “java.lang.NoSuchFieldError: out“ 异常解决

异常现象 at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:847)at org.apac…...

Node.js入门笔记(包含源代码)以及详细解析

Node.js 入门笔记源码 01、如何在终端中执行js 文件 目标&#xff1a;将下面的代码语句在中断中执行 代码演示&#xff1a; console.log(Hello World)for (let i 0;i < 3;i) {console.log(6)}方法&#xff1a;在文件上右击打开在终端中执行&#xff0c;然后输入node空格 输…...

windows自动化点击大麦app抢购、捡漏,仅支持windows11操作系统

文章目录 必要条件程序运行必要条件 确保windows11版本操作系统,如果不是可以通过镜像升级为windows11如果已经是windows11操作系统,确保更新到最新版本 修改系统所在时区,将国家或地区改为美国 开启虚拟化 勾选Hyper-V,如果没有则不需要勾选 勾选虚拟机平台 勾选完毕,点…...

vue 拦截 v-html 中 a 标签 href 跳转

记录 template 中 给需要 拦截的 代码片段加上click 方法 click“targetNodeNameClick” <p class"message-content message-content-text" v-html"replaceURLWithHTMLLinks(getText(message))" click"targetNodeNameClick"></p>然…...

分布式id、系统id、业务id以及主键之间的关系

推荐 连分布式ID都理解不了&#xff0c;你是刚培训出来冒充面试官的吧 1 分布式id、系统id、业务id以及主键之间的关系 分布式ID、系统ID、业务ID和主键的关系&#xff1a; 分布式ID&#xff1a;在分布式系统中&#xff0c;由于存在多个独立的节点&#xff0c;为了保证每个节…...

设计模式七:适配器模式(Adapter Pattern)

适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;用于将一个类的接口转换成客户端所期望的另一个接口。它允许不兼容的接口能够协同工作。 适配器模式涉及角色&#xff1a; 目标接口&#xff08;Target Interface&#xff09;&#xff1a…...

数据结构---队列

(一)队列之基础补充 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 —— 百科 「队列 Queue」是一种…...

chatGPT在软件测试中应用方式有哪些?

ChatGPT可以在软件测试中以以下方式应用&#xff1a; 1. 自动化对话测试&#xff1a;ChatGPT可以用于自动化对话测试&#xff0c;模拟用户与软件系统进行实时对话。它可以扮演用户的角色&#xff0c;向系统发送各种类型的指令和请求&#xff0c;并验证系统的响应是否符合预期。…...

终极RPG Maker视差地图插件指南:零代码打造专业级游戏场景

终极RPG Maker视差地图插件指南&#xff1a;零代码打造专业级游戏场景 【免费下载链接】RPGMakerMV RPGツクールMV、MZで動作するプラグインです。 项目地址: https://gitcode.com/gh_mirrors/rp/RPGMakerMV 你是否曾经梦想创建拥有电影级视觉效果的RPG游戏地图&#xf…...

颠覆性英雄联盟智能助手:如何用League Akari告别繁琐操作,专注游戏核心

颠覆性英雄联盟智能助手&#xff1a;如何用League Akari告别繁琐操作&#xff0c;专注游戏核心 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit …...

告别Ping不通!STM32H7以太网LWIP裸机移植实战:LAN8720硬件连接与软件调试全记录

STM32H7以太网LWIP裸机移植&#xff1a;从硬件连接到软件调试的深度实战指南 当你在深夜的实验室里盯着屏幕上那个顽固的"Request timed out"提示&#xff0c;第十次尝试ping通你的STM32H750开发板时&#xff0c;那种挫败感我深有体会。以太网移植看似简单——连接几…...

别再照搬教科书了!聊聊西门子温度模块里那个‘奇怪’的热电偶采样电路

西门子温度模块热电偶采样电路的设计玄机&#xff1a;为何打破教科书常规&#xff1f; 第一次拆解西门子S7-1200系列温度模块时&#xff0c;我的目光被热电偶输入电路牢牢钉住了——这个电路竟然没有按照教科书上的经典差分放大结构来设计&#xff01;更令人困惑的是&#xff0…...

Notion 发布开发者平台扩展协作软件,治理与执行决定能否突破试验阶段!

Notion 发布开发者平台扩展协作软件&#xff0c;治理与执行成突破试验阶段关键&#xff01;此次发布让 Notion 在企业软件栈中扮演更重要的角色&#xff0c;但分析师表示&#xff0c;治理和执行情况将决定它能否突破试验阶段。Notion 正在通过一个开发者平台扩展其协作工作空间…...

Arduino开发板选型指南:从性能、接口到场景化决策

1. 项目概述&#xff1a;为什么Arduino选型是个技术活刚接触Arduino或者准备开始一个新项目时&#xff0c;面对琳琅满目的开发板型号&#xff0c;你是不是也感到过一丝迷茫&#xff1f;从经典的Uno到功能强大的Mega&#xff0c;再到小巧玲珑的Micro和专为可穿戴设计的Flora&…...

Claude文本压缩可视化工具:揭秘LLM长文本处理与Prompt优化

1. 项目概述与核心价值最近在折腾大语言模型&#xff08;LLM&#xff09;应用开发&#xff0c;特别是围绕 Anthropic 的 Claude 系列模型时&#xff0c;我发现了一个挺有意思的开源工具——danielsod12/claude-compaction-viewer。简单来说&#xff0c;这是一个专门用来“可视化…...

抖音下载神器:如何一键批量保存无水印视频和音乐?

抖音下载神器&#xff1a;如何一键批量保存无水印视频和音乐&#xff1f; 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…...

面试题:评估指标详解——NLP 常用评估指标、BLEU、ROUGE、BLEU 和 ROUGE 区别全解析

1. 为什么“评估指标”是大模型面试里的高频题&#xff1f;1.1 面试官真正想听的&#xff0c;不只是定义很多人一看到“评估指标”就开始背 Accuracy、Precision、Recall、F1、BLEU、ROUGE&#xff0c;但如果只是把名词丢出来&#xff0c;回答往往会显得很散。面试官真正想听的…...

25岁入行编程,30岁实现财务自由:我的4步进阶法

作为一名软件测试从业者&#xff0c;你是否曾在反复的功能验证、bug回归中感到职业瓶颈&#xff1f;是否羡慕身边程序员的高薪与灵活发展路径&#xff1f;我曾和你一样&#xff0c;在测试岗位上摸爬滚打三年&#xff0c;25岁才下定决心转行编程&#xff0c;如今30岁已实现被动收…...