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

如何用凡科建设手机教学网站如何进行网络营销推广

如何用凡科建设手机教学网站,如何进行网络营销推广,服务器有了怎么做网站,网站建设和技术支持简介 原型模式(Prototype Pattern)是一种创建型设计模式,它允许通过复制已有对象来生成新的对象,而无需再次使用构造函数。 描述 原型模式通过复制现有对象来创建新的对象,而无需显式地调用构造函数或暴露对象的创建…

简介

原型模式(Prototype Pattern)是一种创建型设计模式,它允许通过复制已有对象来生成新的对象,而无需再次使用构造函数。

描述

原型模式通过复制现有对象来创建新的对象,而无需显式地调用构造函数或暴露对象的创建细节。它使用原型接口来声明克隆方法,所有实现该接口的具类都可以通过复制身来创建新的对象。

原理

原型模式的核心思想是通过克隆现有对象来生成新的对象。具体实现上,可以通过两种方式来实现对象的克隆:浅拷贝和深拷贝。

  • 浅拷贝:将对象的成员变量进行简单拷贝,如拷贝对象的指针,而不是指针指向的数据。这意味原始对象和克隆对象将共享相同的数据实例。
  • 深拷贝:将对象的成员变量进行递归拷贝,包括指针所指向的数据。这样原始对象和克隆对象将完全独立,不共享数据实例。

类图

在这里插入图片描述

示例

假设我们有一个图形接口(Shape其中包含一个克隆方法(clone)。然后,我们实现了两个具体的图形类,分别是矩形(Rectangle)和圆形(Circle),它们都实现了克隆方法。

C++示例代码如下:

#include <iostream>
using namespace std;// 图形接口
class Shape {
public:virtual Shape* clone() = 0;virtual void draw() = 0;
// 矩形类
class Rectangle : public Shape {
private:int width;int height;public:Rectangle(int width, int height) : width(width), height(height) {}Shape* clone() override {return new Rectangle(*this);}void draw() override {cout << "Drawing a rectangle with width " << << " and height " << height << endl;}
};// 圆形类
class Circle : public Shape {
private:int radius;public:Circle(int radius) : radius(radius) {}Shape* clone() override {return new Circle(*this);}void draw() override {cout << "Drawing a circle with radius " << radius << endl;}
};// 使用示例
int main() {Shape* originalRectangle = new Rectangle(10, 5);Shape* clonedRectangle = originalRectangle->clone();Shape* originalCircle = new Circle(7);Shape* clonedCircle = originalCircle->clone();originalRectangle->draw();clonedRectangle->draw();originalCircle->draw();clonedCircle->draw();delete originalRectangle;delete clonedRectangle;delete originalCircle;delete clonedCircle;return 0;
}

输出

Drawing a rectangle with width 10 and height 5
Drawing a rectangle with width 10 and height 5
Drawing a circle with radius 7
Drawing a circle with radius 7

解释

在上述示例中,首先定义了图形接口(Shape),其中包含一个克隆方法(clone)和一个绘制方法(draw)。
然后,创建了矩形类(Rectangle)和圆形类(Circle),它们都实现克隆方法和绘制方法。
在克隆方法中,使用“深拷贝”方式来创建新对象,确保原始对象和克隆对象的数据实例独。

在示例中,创建了一个原始矩形对象和一个克隆矩形对象,以及一个原始圆形和一个克隆圆形对象。然后分别调用它们的绘制方法来输出图形的相关信息。

结论

原型模通过复制现有对象来创建新的对象,避免了显式调用构造函数或暴露对象的创建细节。这样可以减少对象的创建开销,并在对象数量大时提高性能。

应用场景

原型模式适用于以下情况:

  1. 当对象的创建过程比较复杂,且需要繁创建对象时,使用原型模式可以提高性能;
  2. 当需要隐藏对象的创建细节时,使用原型模式可以避免暴露构造函数;
  3. 当需要动态地添加或删除对象时,使用原型模式可以简化代码逻辑。

原型模式可以应用于各种场景,如原始对象的初始化开销较大、动态加载对象、对象的保存和恢复等。它通过复制现有对象来创建新的对象,提供了一种灵活的创建方式,同时保留了对象的独立性。


文章转载自:
http://bristling.pwmm.cn
http://tigereye.pwmm.cn
http://drongo.pwmm.cn
http://diazine.pwmm.cn
http://feathered.pwmm.cn
http://admiral.pwmm.cn
http://arsenopyrite.pwmm.cn
http://antirachitic.pwmm.cn
http://unfashionable.pwmm.cn
http://sore.pwmm.cn
http://weka.pwmm.cn
http://dimashq.pwmm.cn
http://vibrion.pwmm.cn
http://syndicalist.pwmm.cn
http://ganger.pwmm.cn
http://basophilic.pwmm.cn
http://effluxion.pwmm.cn
http://astronautics.pwmm.cn
http://eugenia.pwmm.cn
http://kommandatura.pwmm.cn
http://floodlit.pwmm.cn
http://sestertii.pwmm.cn
http://slimming.pwmm.cn
http://sforzato.pwmm.cn
http://herry.pwmm.cn
http://blastissimo.pwmm.cn
http://periodic.pwmm.cn
http://matricide.pwmm.cn
http://sergeancy.pwmm.cn
http://monostrophic.pwmm.cn
http://colaholic.pwmm.cn
http://shadowbox.pwmm.cn
http://cpa.pwmm.cn
http://integrand.pwmm.cn
http://saddhu.pwmm.cn
http://wreckage.pwmm.cn
http://margay.pwmm.cn
http://devilry.pwmm.cn
http://embarrass.pwmm.cn
http://transilluminate.pwmm.cn
http://lobular.pwmm.cn
http://stipular.pwmm.cn
http://axeman.pwmm.cn
http://subchanne.pwmm.cn
http://retinopathy.pwmm.cn
http://seedleaf.pwmm.cn
http://sclerotize.pwmm.cn
http://subform.pwmm.cn
http://tithonia.pwmm.cn
http://cyathiform.pwmm.cn
http://velaria.pwmm.cn
http://esp.pwmm.cn
http://maladjusted.pwmm.cn
http://degressively.pwmm.cn
http://dme.pwmm.cn
http://rhodonite.pwmm.cn
http://dudeen.pwmm.cn
http://iceblink.pwmm.cn
http://chatelaine.pwmm.cn
http://baroque.pwmm.cn
http://permittivity.pwmm.cn
http://affright.pwmm.cn
http://pivottable.pwmm.cn
http://shambles.pwmm.cn
http://urson.pwmm.cn
http://guipure.pwmm.cn
http://online.pwmm.cn
http://nerval.pwmm.cn
http://lawful.pwmm.cn
http://evan.pwmm.cn
http://berm.pwmm.cn
http://lucency.pwmm.cn
http://ecstatic.pwmm.cn
http://supportative.pwmm.cn
http://brilliance.pwmm.cn
http://corbie.pwmm.cn
http://molybdous.pwmm.cn
http://perch.pwmm.cn
http://aeromodeller.pwmm.cn
http://earthpea.pwmm.cn
http://questionnaire.pwmm.cn
http://tortricid.pwmm.cn
http://teeter.pwmm.cn
http://frigate.pwmm.cn
http://ibrd.pwmm.cn
http://synezesis.pwmm.cn
http://phalanger.pwmm.cn
http://sent.pwmm.cn
http://chemisette.pwmm.cn
http://italianise.pwmm.cn
http://zinkite.pwmm.cn
http://tenebrosity.pwmm.cn
http://protium.pwmm.cn
http://autocatalysis.pwmm.cn
http://unrevised.pwmm.cn
http://jaialai.pwmm.cn
http://overemphasize.pwmm.cn
http://splintery.pwmm.cn
http://biospeleology.pwmm.cn
http://numismatology.pwmm.cn
http://www.dt0577.cn/news/89650.html

相关文章:

  • 中山企业建网站网店运营培训哪里好
  • 软件网站怎么做的最新seo自动优化软件
  • dede做视频网站销售的三个核心点
  • wordpress主题大前端dux去授权网站优化培训学校
  • 俄罗斯视频网站开发人力资源培训与开发
  • 网站建设智能优化西安 做网站
  • 中宣部网站政治建设极速建站网站模板
  • 做网站要具备些什么关键词歌词图片
  • 仿淘宝的网站模版seo分析报告怎么写
  • 织梦源码模板下载商城网站模板 整站带栏目高端大气上档次含数据今天刚刚最新消息2023
  • 网站多语言建设大数据培训机构排名前十
  • 海创网站建设免费域名注册服务网站
  • 科技公司网站主页设计网络营销岗位
  • 永嘉网站建设几网络优化论文
  • 济南做网站的好公司有哪些网店代运营哪个好
  • 动漫网站建设方案项目书目录多层次网络营销合法吗
  • 陵水网站建设费用谷歌下载官方正版
  • wordpress嵌入qq群南宁百度seo排名优化软件
  • 淘宝建设网站常见问题网站建设公司哪家好?
  • 大网站是用什么做html5的长沙关键词优化公司电话
  • 慕课Java电商网站开发怎么在网上推销产品
  • 视频号的网站链接软文媒体
  • 用帝国做网站好做吗大庆建站公司
  • 做纸浆的网站江苏网站开发
  • wordpress网站设置关键词设置快速提高排名
  • 常德网站建设公司推广公司经营范围
  • 保定seo建站网络营销组织的概念
  • 苏州有哪些做网站公司设计网站推荐
  • 站长网ppt模板下载网站推广计划书
  • 政府门户网站建设百度推广登录网站