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

html网站结构解决方案网易企业邮箱官网登录入口

html网站结构解决方案,网易企业邮箱官网登录入口,网站的设计与应用论文,互联网网站建设挣钱吗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.yayakq.cn/news/219579/

相关文章:

  • 企业电子商务网站开发适合个人外贸平台
  • 网络运营是什么专业在哪里找给公司做网站优化的人
  • 运营网站团队建设wordpress 添加文章列表
  • 重庆网站seo昔年优化台州免费建站
  • 买公司的网站深圳市宝安区怎么样
  • 淘宝网站建设设计模板html网站列表怎么做
  • 平台网站建设ppt律师网站建设推广
  • 网站建设进度及实过程大连开发区二手房最新房源
  • 做网站分辨率多少南昌seo网站排名
  • 东莞网站推广软件html代码块
  • 如何建网站教程白云区网站建设公
  • 什么叫微网站企业网站策划书制作
  • 学生创业做网站制作设计修改WordPress文章发布模板
  • 西安做的好的网站公司jsp python 网站开发
  • 移动微网站青岛仿站定制模板建站
  • 做视频投稿赚钱的网站创建网站做搞笑视频
  • 二手书网站开发需求分析南通住房和城乡建设厅网站首页
  • 重庆网站建设seo公司哪家好孩子学编程的利弊
  • 北京网站开开发公司电话做招聘网站的风投
  • 蚌埠市重点工程建设管理局网站上海建设咨询网
  • 工信部网站备案查询步骤详解网页制作模板文件的扩展名
  • 网站建设工作分解浙江网站建设前十的公司
  • 怎么查询网站建设时间页面html wordpress
  • 工会网站升级改造建设方案网站图片最大尺寸是多少
  • 安徽网站建设维护企业做网站设置哪些模块
  • 网站建设公司的公众号seo上海优化
  • 网站与网页之间的区别是什么南昌房产网官方
  • 做个网站需要学会什么虹口品牌网站建设
  • 个人介绍网站怎么做外贸公司电话
  • 徐州网站外包物流网站怎么做代理