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

简单了解原型模式

什么是原型模式

区别于单例模式,原型模式的一个类可以有多个实例化的对象。

原型模式通过拷贝来产生新的对象,而不是new,并且可以根据自己的需求修改对象的属性。

image-20240114094925346

实现Cloneable接口实现拷贝

而拷贝又分为浅拷贝和深拷贝,两者在基本字段的拷贝没有区别,主要区别在于引用字段的拷贝

浅拷贝

调用super.clone()完成拷贝,不拷贝引用类型对象,也就是两个引用的字段都指向同一个对象

image-20240327154653079

深拷贝

可以重新clone()完成拷贝,自己新建一个引用类型对象,让两个引用的字段都指向不同的对象

image-20240327154735665

相关文章:

  • C++——vector类及其模拟实现
  • 专业130+总分410+西南交通大学924信号与系统考研经验西南交大电子信息通信工程,真题,大纲,参考书。
  • 【echart】数据可视化+vue+vite遇到问题
  • 【python】数据库操作
  • buy me a btc 使用数字货币进行打赏赞助
  • 算法打卡day28|贪心算法篇02|Leetcode 122.买卖股票的最佳时机 II、55. 跳跃游戏、45.跳跃游戏 II
  • Git--08--Git分支合并操作
  • Hbase 王者荣耀数据表 HBase常用Shell命令
  • RSTP环路避免实验(华为)
  • TitanIDE与传统 IDE 比较
  • 【JMeter入门】—— JMeter介绍
  • 通俗讲解缓存穿透和缓存雪崩
  • 【微服务篇】分布式事务方案以及原理详解
  • 目标检测的相关模型图:YOLO系列和RCNN系列
  • 详解JS方法之slice、splice、substring、substr
  • admin端
  • 《c++》纯虚函数和抽象类
  • C#WPF控件大全
  • jenkins拉取java远程日志
  • RabbitMQ介绍
  • https://app.hackthebox.com/machines/Inject
  • Spring —— Spring简单的读取和存储对象 Ⅱ
  • 渗透测试之冰蝎实战
  • Mybatis、TKMybatis对比
  • Microsoft Office 2019(2022年10月批量许可版)图文教程
  • 《谷粒商城基础篇》分布式基础环境搭建
  • 哈希表题目:砖墙
  • Vue 3.0 选项 生命周期钩子
  • 【车载嵌入式开发】AutoSar架构入门介绍篇
  • 【计算机视觉 | 目标检测】DETR风格的目标检测框架解读