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

科技类公司网站设计市场调研报告范文模板word

科技类公司网站设计,市场调研报告范文模板word,三亚h5网站定制开发公司,长沙疫情最新轨迹公布解释说明:使用原型实例指定待创建对象的类型,并且通过复制这个原型阿里创建型的对象 UML 结构图: 抽象原型(Prototype):规定了具体原型对象必须实现的clone()方法 具体原型(ConcretePrototype&…

解释说明:使用原型实例指定待创建对象的类型,并且通过复制这个原型阿里创建型的对象

UML 结构图:

抽象原型(Prototype):规定了具体原型对象必须实现的clone()方法

具体原型(ConcretePrototype):实现抽象原型类的clone()方法,它是可被复制的对象

访问类:使用具体原型类中的clone()方法来复制新的对象。

浅拷贝:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型属性,仍指向原有属性所指向的对象的内存地址

深拷贝:创建一个新对象,属性中引用的其他对象也会被克隆,不再指向原有对象地址

优点:

    如果创建新的对象比较复杂,可以利用原型模式简化对象的创建过程,同时也能够提高效率。

    简化对象的创建,无需理会创建过程。

    可以在程序运行时(对象属性发生了变化)获得一份内容相同的实例,他们之间不会相互干扰。

缺点:

    在实现深拷贝时可能需要比较复杂的代码

    需要为每一个类配备一个克隆方法,而且该克隆方法需要对类的功能进行通盘考虑,这对全新的类来说不是很难,但对已有的类进行改造时,不一定是件容易的事,必须修改其源代码,违背了“开闭原则”。

适用场景

    如果创建新对象成本较大,可以利用已有的对象进行复制来获得。

    如果系统要保存对象的状态,而对象的状态变化很小,或者对象本身占内存不大的时候,也可以使用原型模式配合备忘录模式来应用。相反,如果对象的状态变化很大,或者对象占用的内存很大,那么采用状态模式会比原型模式更好。

    需要避免使用分层次的工厂类来创建分层次的对象,并且类的实例对象只有一个或很少的几个组合状态,通过复制原型对象得到新实例可能比使用构造函数创建一个新实例更加方便

#pragma once
#include <iostream>
#include <string>
/****原型模式 Prototype******/
using namespace std;
// 猴子
class Monkey
{
public:Monkey() {}virtual ~Monkey() {}virtual Monkey* Clone() = 0;  // 克隆virtual void Play() = 0;  // 玩耍
};
// 孙悟空
class SunWuKong : public Monkey
{
public:SunWuKong(string name) { m_strName = name; }~SunWuKong() {}// 拷贝构造函数SunWuKong(const SunWuKong& other){m_strName = other.m_strName;}Monkey* Clone(){// 调用拷贝构造函数return new SunWuKong(*this);}void Play(){cout << m_strName << " play Golden-Hoop-Stick" << endl;}
private:string m_strName;
};#include "prototype.h"
#ifndef SAFE_DELETE
#define SAFE_DELETE(p) { if(p){delete(p); (p)=NULL;} }
#endif
int main()
{// 孙悟空Monkey* pSWK = new SunWuKong("Qi Tian Da Sheng");// 克隆猴子猴孙Monkey* pSWK1 = pSWK->Clone();Monkey* pSWK2 = pSWK1->Clone();pSWK1->Play();pSWK2->Play();SAFE_DELETE(pSWK1);SAFE_DELETE(pSWK2);SAFE_DELETE(pSWK);getchar();return 0;
}

http://www.mmbaike.com/news/138.html

相关文章:

  • 中国电信黄页最新版seo独立站
  • 互联在线app开发网站网站优化及推广
  • 建筑工程完工证明格式优化网站推广教程整站
  • 网站免费建站的方法巩义网络推广公司
  • 免费做网站的软件5g影讯5g天线在线观看免费视频
  • wordpress加速网站插件如何做网站推广
  • 放单网站站长素材
  • 做搬运的话哪个网站好百度关键词seo优化
  • 网站设计建设 武汉推广赚佣金项目
  • 淄博营销网站建设提升神马seo关键词自然排名
  • 出格做网站怎么样seo教程网站
  • 课程网站开发关键词优化排名软件
  • 中英网站怎么做百度经验实用生活指南
  • 福州外网站建设西安seo优化推广
  • 新疆机票网站制作什么是seo标题优化
  • 做设计接外快在哪个网站在线网站分析工具
  • c 语言做网站网络外贸推广
  • 秦皇岛外贸网站建设seo企业推广案例
  • 网站建设策划案模版苏州seo关键词优化排名
  • 有哪些免费做电子名片的网站怎样创建网站平台
  • 建设一个网站的基本成本军事网站大全军事网
  • wordpress主题虚拟会员下载网站seo基础
  • 中英网站建立重庆seo全网营销
  • 深圳公司做年报网站seo搜狗
  • 做赌博网站推广赚佣金新手运营从哪开始学
  • 网站商城建设价格中国关键词
  • 制作企业网站费用明细搜索网站排名优化
  • 国家建设公债拍卖网站seo营销推广
  • 个人域名注册需要哪些条件独立站seo怎么做
  • 做跨境的网站有哪些西安seo