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

[面向对象] 单例模式与工厂模式

单例模式

是一种创建模式,保证一个类只有一个实例,且提供访问实例的全局节点。

工厂模式

面向对象其中的三大原则:

  • 单一职责:一个类只有一个职责(Game类负责什么时候创建英雄机,而不需要知道创建英雄机要给构造函数传递什么参数)
  • 开闭原则:对代码进行升级时,只会有增加而不会有修改
  • 依赖倒转:依赖抽象而不是具体某个实类(就是执行函数一直调用的是抽象的东西,但是有具体实现的东西的功能)

绕口,,,我自己的理解 

工厂系

父类有一个抽象方法create,子类重写方法create的时候,返回new的对象

产品系

感觉是继承的父类子类对象之间的关系

会在外面的class里使用factory来给product赋值

实验一错误 

已经在父类中定义的变量,不要还在子类中一模一样定义一次。

当同名时,父类成员变量并不会被覆盖,而是与子类成员变量在不同的空间

相关文章:

[面向对象] 单例模式与工厂模式

单例模式 是一种创建模式,保证一个类只有一个实例,且提供访问实例的全局节点。 工厂模式 面向对象其中的三大原则: 单一职责:一个类只有一个职责(Game类负责什么时候创建英雄机,而不需要知道创建英雄机要…...

《前端防坑》- JS基础 - 你觉得typeof nullValue === null 么?

问题 JS原始类型有6种Undefined, Null, Number, String, Boolean, Symbol共6种。 在对原始类型使用typeof进行判断时, typeof stringValue string typeof numberValue number 如果一个变量(nullValue)的值为null,那么typeof nullValue "?" const u …...

【项目实战经验】DataKit迁移MySQL到openGauss(下)

上一篇我们分享了安装、设置、链接、启动等步骤,本篇我们将继续分享迁移、启动~ 目录 9. 离线迁移 9.1. 迁移插件安装 中断安装,比如 kill 掉java进程(安装失败也要等待300s) 下载安装包准备上传 缺少mysqlclient lib包 mysq…...

AI预测体彩排3第2弹【2024年4月13日预测--第1套算法开始计算第2次测试】

各位小伙伴,今天实在抱歉,周末回了趟老家,回来比较晚了,数据今天上午跑完后就回老家了,晚上8点多才回来,赶紧把预测结果发出来吧,虽然有点晚了,但是咱们前面说过了,目前的…...

【13137】质量管理(一)2024年4月串讲题组一

目录 1.选择题 2.多选题 3.简答题 4.论述题 5.计算题 6.论述题 【13137】质量管理-速 记 宝 典【全国通用】</...

Go语言中工作负载类型对并发的影响

在实际工作开发中我们需要根据工作负载是CPU密集型还是I/O密集型,使用不同的方式来解决问题。下面我们先来看这些概念,然后再讨论其影响。 在程序执行时,工作负载的执行时间会受以下因素限制: CPU的速度--例如,运行归并排序算法。工作负载被称为CPU密集型。I/O速度--例如…...

常用的Python内置函数

目录 1. getattr() 函数: 2. setattr() 函数: 3. id():返回对象的唯一标识符(内存地址)。 4. type():返回对象的类型。 5. isinstance(obj, classinfo):判断对象是否是某种类型或其子类的实例。 6. issubclass(class1, class2):判断一个类是否是另一个类的子类。 …...

MAC(M1芯片)编译Java项目慢且发热严重问题解决方案

目录 一、背景二、排查三、解决四、效果以及结果展示五、总结 一、背景 使用idea编译项目等操作&#xff0c;经常性发热严重&#xff0c;并且时间慢。直到昨天编译一个项目用时30分钟&#xff0c;电脑温度很高&#xff0c;并且有烧灼的味道&#xff0c;于是有了此篇文章。 二、…...

如何循环pandas格式的数据

如何循环pandas格式的数据 要循环处理 Pandas 格式的数据&#xff0c;可以使用 iterrows() 方法或者 iteritems() 方法。 iterrows() 方法&#xff1a; import pandas as pd# 假设 df 是你的 Pandas DataFrame for index, row in df.iterrows():# 在这里处理每一行的数据&am…...

新零售SaaS架构:客户管理系统架构设计(万字图文总结)

什么是客户管理系统&#xff1f; 客户管理系统&#xff0c;也称为CRM&#xff08;Customer Relationship Management&#xff09;&#xff0c;主要目标是建立、发展和维护好客户关系。 CRM系统围绕客户全生命周期的管理&#xff0c;吸引和留存客户&#xff0c;实现缩短销售周…...

Apache Spark

Apache Spark是一种开源的分布式计算系统&#xff0c;主要用于大数据处理和分析。Spark提供了一个高效的计算引擎&#xff0c;可以在分布式环境中处理大规模数据集。它支持多种编程语言&#xff0c;包括Scala、Java、Python和R。 Spark的核心概念是弹性分布式数据集&#xff0…...

CentOS7编译ZLMediaKit并使能WebRTC

使能WebRTC需要libsrtp库, libsrtp库需要openssl, 所以第一步先安装openssl, 系统自带的版本是1.0.2的, libsrtp需要1.1.1以上版本, 需要使用源码进行编译; GCC准备 需要安装gcc7以上版本, 并切换到gcc7的编译环境 yum install centos-release-scl yum install devtoolset-7…...

【数据交换格式】网络socket编程温度采集智能存储与上报项目技术------JSON、TLV

作者简介&#xff1a; 一个平凡而乐于分享的小比特&#xff0c;中南民族大学通信工程专业研究生在读&#xff0c;研究方向无线联邦学习 擅长领域&#xff1a;驱动开发&#xff0c;嵌入式软件开发&#xff0c;BSP开发 作者主页&#xff1a;一个平凡而乐于分享的小比特的个人主页…...

IP地址定位技术在各领域的作用

IP地址定位是通过确定IP地址的物理位置来定位一个设备的技术&#xff0c;它在现代社会的多个领域中都有着广泛的应用。以下将详细探讨IP地址定位的应用场景&#xff0c;以期对读者有所启发。 首先&#xff0c;在网络安全领域&#xff0c;IP地址定位发挥着至关重要的作用。网络…...

代码随想录 538. 把二叉搜索树转换为累加树

题目 给出二叉 搜索 树的根节点&#xff0c;该树的节点值各不相同&#xff0c;请你将其转换为累加树&#xff08;Greater Sum Tree&#xff09;&#xff0c;使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下&#xff0c;二叉搜索树满足下列约束条件&a…...

JavaWeb--前端--01HTML和CSS

文章目录 1 前端开发介绍2 开发工具3 文档查阅4 VSCode的插件 1 前端开发介绍 Web标准也称为网页标准&#xff0c;由一系列的标准组成&#xff0c;大部分由W3C&#xff08; World Wide Web Consortium&#xff0c;万维网联盟&#xff09;负责制定。由三个组成部分&#xff1a;…...

Oracle SQL中的DECODE函数与NVL函数:区别与应用场景详析

Oracle SQL中的DECODE函数与NVL函数&#xff1a;区别与应用场景详析 引言1. NVL函数简介与使用示例2. DECODE函数简介与使用示例3. NVL与DECODE函数的区别4. 使用场景举例结论 引言 在Oracle数据库开发和数据分析过程中&#xff0c;DECODE函数和NVL函数都是非常实用且常见的工具…...

算法设计与分析实验报告c++实现(N皇后问题、卫兵布置问题、求解填字游戏问题、图的m着色问题)

一&#xff0e;N皇后问题 基本原理和思路&#xff1a; 从一条路往前走&#xff0c;能进则进&#xff0c;不能进则退回来&#xff0c;换一条路再试。在包含问题的所有解的解空间树中&#xff0c;按照深度优先搜索的策略&#xff0c;从根结点出发深度探索解空间树。当探索到某一…...

深入探索Linux中的libgdbus:GDBus库的应用和实现

引言 在Linux系统中&#xff0c;DBus是一种高效的进程间通信&#xff08;IPC&#xff09;机制&#xff0c;广泛应用于桌面环境和系统服务之间的通信。GDBus是基于GLib库的DBus实现&#xff0c;作为libgdbus的一部分提供。它旨在提供一种简洁、高效的方式来实现DBus通信。通过深…...

MacOS下Qt 5开发环境安装与配置

最近笔者在MacOS中使用Qt Creator开发Qt程序时遇到了一些问题&#xff0c;在网上查了不少资料&#xff0c;都没有找到解决方案&#xff0c;只有自己进行研究摸索了&#xff0c;今天晚上终于将目前遇到的问题全部解决了&#xff0c;特记录下来分享给大家。 笔者使用的是MacOS 1…...

从零开始:DeepLabV3+在Cityscapes数据集上的完整训练流程

1. 环境准备与数据下载 第一次接触DeepLabV3和Cityscapes数据集时&#xff0c;我被这个组合的潜力所吸引——它能精准识别街景中的车辆、行人、建筑物等元素&#xff0c;就像给计算机装上了"透视眼"。但真正开始实操时&#xff0c;发现从环境搭建到数据处理的每个环节…...

实战分享:如何用OmniPeek和TL-WDN7200H网卡高效抓取WiFi空口数据包(附信道选择技巧)

实战分享&#xff1a;如何用OmniPeek和TL-WDN7200H网卡高效抓取WiFi空口数据包&#xff08;附信道选择技巧&#xff09; 在无线网络分析和安全研究领域&#xff0c;空口数据包捕获是诊断问题、优化性能和发现安全隐患的基础技能。不同于有线网络抓包&#xff0c;无线环境中的信…...

深入理解Vue中.native修饰符在Element UI组件事件绑定的应用

1. 为什么el-card上的click事件会失效&#xff1f; 第一次在Element UI的el-card组件上绑定click事件时&#xff0c;你可能遇到过点击毫无反应的情况。这其实不是代码写错了&#xff0c;而是Vue事件系统的一个特性在"作怪"。Element UI的组件本质上都是Vue自定义组件…...

Flowable 6.3.0 从安装到实战:手把手教你搭建第一个BPMN流程(附MySQL 8.0避坑指南)

Flowable 6.3.0实战指南&#xff1a;从零构建企业级流程引擎 当企业业务流程复杂度超过CRUD范畴时&#xff0c;一套可靠的流程引擎就成为技术架构中的关键基础设施。作为Activiti原班团队打造的新一代开源BPM引擎&#xff0c;Flowable 6.3.0在保持轻量级特性的同时&#xff0c;…...

java毕业设计基于SpringBoot酒店预定系统

前言 Spring Boot酒店预定系统是一种功能丰富、易于维护和扩展的在线预订平台。它通过整合前后端技术&#xff0c;实现了酒店信息的在线展示、预订、支付以及管理等一系列功能&#xff0c;为用户和酒店提供了便捷、高效的预订服务。随着旅游业和酒店业的不断发展&#xff0c;该…...

LFM2.5-1.2B-Thinking-GGUF快速部署:CSDN平台一键克隆→启动→分享链接三步到位

LFM2.5-1.2B-Thinking-GGUF快速部署&#xff1a;CSDN平台一键克隆→启动→分享链接三步到位 1. 模型简介 LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的轻量级文本生成模型&#xff0c;专为低资源环境优化设计。这个模型采用GGUF格式存储&#xff0c;配合llama.cpp运行时&…...

终极M3U8下载神器:3步轻松掌握全网视频流保存技巧

终极M3U8下载神器&#xff1a;3步轻松掌握全网视频流保存技巧 M3U8 Downloader是一款强大的m3u8视频在线提取工具&#xff0c;专为流媒体下载设计&#xff0c;提供桌面客户端支持Windows和Mac系统。无论是在线课程、直播回放还是精彩影视内容&#xff0c;只需简单几步&#xf…...

Charles抓取WebSocket全链路解析:从配置到实战避坑指南

Charles抓取WebSocket全链路解析&#xff1a;从配置到实战避坑指南 WebSocket协议调试一直是开发者的痛点&#xff0c;传统抓包工具难以解析其长连接特性。本文详解如何通过Charles实现WebSocket请求的捕获与分析&#xff0c;包括SSL证书配置、协议升级拦截等核心步骤&#xf…...

【大模型学习】常见AI工作流框架组合

常见AI工作流框架组合**一、框架组合全景图****二、各组合深度分析****1. LangChain LangGraph&#xff08;大模型工程师首选&#xff09;****技术架构****实现复杂度****优缺点****推荐场景****2. LlamaIndex Flowise&#xff08;低代码RAG快速落地&#xff09;****技术架构…...

LAV Filters技术指南:开源解码器的媒体播放优化方案

LAV Filters技术指南&#xff1a;开源解码器的媒体播放优化方案 【免费下载链接】LAVFilters LAV Filters - Open-Source DirectShow Media Splitter and Decoders 项目地址: https://gitcode.com/gh_mirrors/la/LAVFilters 作为一款基于ffmpeg的开源解码器&#xff0c;…...