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

宜昌网站排名优化北京网络营销公司哪家好

宜昌网站排名优化,北京网络营销公司哪家好,建设局平台,乌克兰集团网站建设5. 原型模式 – 复制粘贴,一摸一样 简介 原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制现有对象来创建新的对象,而无需从头开始构建。 使用场景 它通常用于以下情况: 当一个系统…

5. 原型模式 – 复制粘贴,一摸一样

简介

原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制现有对象来创建新的对象,而无需从头开始构建。

使用场景

它通常用于以下情况:

  1. 当一个系统需要独立于其类型的对象时,它可以从已有的对象克隆出新的实例,而不是通过构造函数创建。
  2. 当创建一个对象的过程比复制一个现有对象更昂贵时,原型模式可以提高性能。

原型模式的关键思想是创建一个原型对象,然后根据该原型对象创建新的对象。这个原型对象通常是一个已经存在并配置好的对象,它包含了所需的初始状态和属性。新对象从原型对象复制其状态和属性,以便于快速创建多个相似的对象。

实现方式

在实现原型模式时,通常有两种方式:

  1. 浅拷贝(Shallow Copy):在浅拷贝中,只复制对象本身以及对象中的基本数据类型属性,但不会复制对象引用的其他对象。这意味着新对象和原型对象会共享一些对象引用,如果修改了这些共享引用指向的对象,会影响到原型对象和克隆对象。
  2. 深拷贝(Deep Copy):在深拷贝中,不仅复制对象本身和基本数据类型属性,还会递归复制对象引用的其他对象,以确保新对象和原型对象之间没有共享的引用。
优点和注意事项

原型模式的优点包括:

  • 提高性能:避免了重复创建对象时的昂贵初始化过程。
  • 简化对象创建:可以通过复制现有对象来创建新对象,无需了解对象的构造细节。
  • 支持多态性:克隆操作可以用于创建子类对象。

需要注意的是,原型模式在某些情况下可能会引入复杂性,特别是在对象包含循环引用或大量子对象的情况下。因此,在使用原型模式时需要小心处理这些情况。

总之,原型模式是一种有助于创建对象的设计模式,它通过复制现有对象来创建新对象,提供了一种灵活、高效的方式来管理对象的创建和初始化。

实现

实现深拷贝方式,主要是写一个clone方法

// 原型模式
// 时间:2024-10-29
// 作者:@conceal
#include <iostream>
#include <string>
using namespace std;// 原型类
class Prototype
{
public:virtual Prototype *clone() = 0;virtual void show() = 0;
};// 具体原型类
class ConcretePrototype : public Prototype
{
public:ConcretePrototype(const string &s){m_str = s;}Prototype *clone(){return new ConcretePrototype(*this);}void show(){cout << m_str << endl;}private:string m_str;
};int main()
{Prototype *p = new ConcretePrototype("A");Prototype *p1 = p->clone();p->show();p1->show();delete p;delete p1;return 0;
}

输出

A
A

http://www.tj-hxxt.cn/news/906.html

相关文章:

  • 蚌埠网站制作哪家好nba最新新闻消息
  • 做外汇网站卖判刑多少年专业seo整站优化
  • 桂林做网站图片外链在线生成网址
  • 提供网站建设电话网络营销工具
  • 乌鲁木齐网站建设外贸接单平台
  • 做网站需要去哪里备案seo免费推广软件
  • 广东省建设监理协会网站 首页苏州seo安严博客
  • 浏览器为什么打不开网站郑州seo排名优化公司
  • 客户型网站精准营销理论
  • 做微网站公司名称兰州网站开发公司
  • 高端 网站开发百度推广渠道
  • 网站多大seo优化自学
  • 政府网站建设原则百度推广登录平台怎么收费
  • 保定网站seo费用100个商业经典案例
  • 当铺网站建设方案seo手机优化软件哪个好用
  • wp网站搬家教程免费行情网站的推荐理由
  • 苏州设计网页网站好网站制作的流程是什么
  • 怎样做网站服务器黄山网站建设
  • 呼伦贝尔寰宇网站建设北京疫情最新新闻
  • 企业网站合同抖音关键词排名
  • 制作网站的公司电话号码百度搜索关键词排名靠前
  • 弄美团网站的一般一个做赚多少钱培训学校
  • 网站建设公司专业新闻今天的最新新闻
  • 中英文外贸网站源码百度下载安装到桌面上
  • 中国网站建设世界排名新手学百度竞价要多久
  • 网站建设都需要什么硬件工程师培训机构哪家好
  • 静态网站开发考虑什么杭州网站建设技术支持
  • 天津外贸网站建设公司著名的营销成功的案例
  • 坊子网站建设zac博客seo
  • 做微信公众号的网站有哪些seo优化知识