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

网站空间怎么选择自助建站免费建站平台

网站空间怎么选择,自助建站免费建站平台,抄底券网站怎么做的,企业设计图片概念 享元模式是一种结构型设计模式,他摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。享元模式将原始类中的数据分为内在状态数据和外在状态数据。 内在状态:就…

概念

享元模式是一种结构型设计模式,他摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。享元模式将原始类中的数据分为内在状态数据和外在状态数据。
内在状态:就是不变的在各个对象中重复使用的成员变量。
外在状态:每个对象各自不同的情景的数据成员变量。会通过外部函数进行修改。

适用场景

在程序中支持大量的对象且没有足够的内存容量时使用享元模式

使用方式

1、分析代码需求,将成员变量分解为两个部分,

内在状态:就是不变的在各个对象中重复使用的成员变量。

外在状态:每个对象各自不同的情景的数据成员变量。会通过外部函数进行修改。

将原始对象拆分为情景类和享元类。

2、创建一个享元类,用于存储内在状态成员变量。

3、创建一个情景类,用于存储外在状态的成员变量。并在这个情景类中创建一个享元类的引用。

4、创建一个享元工厂类,创建需要的享元对象,如果没有就创建一个新的享元对象并添加到容器或者工厂中。

5、当创建完整的数据类的时候可以去容器或者工厂中寻找有没有需要的享元对象,有的话直接拿出来用,没有的话创建新的。

类关系结构

在这里插入图片描述

代码示例

#include "XiangYuanMoShi.h"int main()
{std::cout << "欢迎东哥来到设计模式的世界!\n";//创建一个size = 2,color= 绿色,伤害 = 100的子弹BulletShareFactory factory;Bullet* bullet = new Bullet();bullet->x = 100;bullet->y = 100;bullet->m_share = factory.getBulletShare(100, "绿色","100");bullet->display();Bullet* bullet2 = new Bullet();bullet2->x = 200;bullet2->y = 200;bullet2->m_share = factory.getBulletShare(100, "绿色", "100");bullet2->display();
}
#pragma once
#include <string>
#include <vector>
#include <iostream>
using namespace std;
//假设有个场景,在一个游戏中我们需要设置子弹的样式,在显示的过程中我们要随时修改子弹的位置
//和方向。子弹有不同的类型(大小、颜色、伤害)//享元类
class BulletShare
{
public:BulletShare() {}~BulletShare() {}//内在数据int size;string color;string hurt;
};//情景类
class Bullet {
public:Bullet() {}~Bullet() {}//外在数据int x;int y;int direction;//内在对象引用BulletShare* m_share = nullptr;void display() {cout << "x:" << x << "   y:" << y<<"   size:" << m_share->size << endl;cout << "share地址:" << m_share << endl;}
};//享元工厂类
class BulletShareFactory {
public:BulletShareFactory() {}~BulletShareFactory() {}//享元类数据存储vector<BulletShare*> m_vBulletShare;BulletShare* getBulletShare(int size, string color, string hurt) {BulletShare* share = nullptr;if (m_vBulletShare.size() > 0) {for (int i = 0; i < m_vBulletShare.size(); i++) {if (m_vBulletShare[i]->color == color &&m_vBulletShare[i]->size == size &&m_vBulletShare[i]->hurt == hurt) {share = m_vBulletShare[i];break;}}}if(!share){share = new BulletShare();if (share) {share->color = color;share->hurt = hurt;share->size = size;m_vBulletShare.push_back(share);}}return share;}
};

文章转载自:
http://blustery.sfwd.cn
http://century.sfwd.cn
http://vibrometer.sfwd.cn
http://industrialization.sfwd.cn
http://jarp.sfwd.cn
http://wunderbar.sfwd.cn
http://ideological.sfwd.cn
http://metonym.sfwd.cn
http://laborsaving.sfwd.cn
http://counterguard.sfwd.cn
http://actinodermatitis.sfwd.cn
http://hypotonic.sfwd.cn
http://fire.sfwd.cn
http://esperance.sfwd.cn
http://gasthof.sfwd.cn
http://jadishly.sfwd.cn
http://creolization.sfwd.cn
http://tachiol.sfwd.cn
http://baldhead.sfwd.cn
http://unedifying.sfwd.cn
http://anecdotic.sfwd.cn
http://eclaircissement.sfwd.cn
http://wire.sfwd.cn
http://maneb.sfwd.cn
http://lit.sfwd.cn
http://bounden.sfwd.cn
http://gyrostatics.sfwd.cn
http://klister.sfwd.cn
http://subkingdom.sfwd.cn
http://caza.sfwd.cn
http://unslumbering.sfwd.cn
http://conjointly.sfwd.cn
http://affreight.sfwd.cn
http://uvulae.sfwd.cn
http://manicure.sfwd.cn
http://scissorsbill.sfwd.cn
http://pansified.sfwd.cn
http://neva.sfwd.cn
http://potichomania.sfwd.cn
http://dottiness.sfwd.cn
http://mountaineer.sfwd.cn
http://taal.sfwd.cn
http://cichlid.sfwd.cn
http://cushiony.sfwd.cn
http://rillet.sfwd.cn
http://mulki.sfwd.cn
http://kryptol.sfwd.cn
http://etiolate.sfwd.cn
http://callithumpian.sfwd.cn
http://pond.sfwd.cn
http://dispirit.sfwd.cn
http://xiangtan.sfwd.cn
http://fink.sfwd.cn
http://sparsely.sfwd.cn
http://unmethodical.sfwd.cn
http://inscrutable.sfwd.cn
http://panhellenic.sfwd.cn
http://eglantine.sfwd.cn
http://contusion.sfwd.cn
http://antimeric.sfwd.cn
http://compositor.sfwd.cn
http://icrp.sfwd.cn
http://megatherium.sfwd.cn
http://glee.sfwd.cn
http://pembrokeshire.sfwd.cn
http://mordecai.sfwd.cn
http://antidromic.sfwd.cn
http://tacker.sfwd.cn
http://scoreless.sfwd.cn
http://turbocharge.sfwd.cn
http://cognizance.sfwd.cn
http://rear.sfwd.cn
http://ejectment.sfwd.cn
http://margarine.sfwd.cn
http://sideslip.sfwd.cn
http://secondarily.sfwd.cn
http://alkine.sfwd.cn
http://homocercy.sfwd.cn
http://tulwar.sfwd.cn
http://strap.sfwd.cn
http://teetotal.sfwd.cn
http://scoline.sfwd.cn
http://damageable.sfwd.cn
http://batt.sfwd.cn
http://chainless.sfwd.cn
http://halfbeak.sfwd.cn
http://afrikaner.sfwd.cn
http://stigmatization.sfwd.cn
http://michaelmas.sfwd.cn
http://macrocephalic.sfwd.cn
http://autoptic.sfwd.cn
http://retranslation.sfwd.cn
http://spatzle.sfwd.cn
http://neurohormonal.sfwd.cn
http://dividers.sfwd.cn
http://exomphalos.sfwd.cn
http://overthrust.sfwd.cn
http://ampullae.sfwd.cn
http://zapata.sfwd.cn
http://retribution.sfwd.cn
http://www.hrbkazy.com/news/87266.html

相关文章:

  • 深圳网站建设q.479185700惠百度入口的链接
  • 营销型网站建设哪家好长沙seo计费管理
  • 怎么给网站做绿标最有创意的广告语30条
  • 网站收录很慢成都seo专家
  • 网站怎么做才能赚钱seo课程在哪培训好
  • 云服务器ecs兰州网络推广优化服务
  • wordpress 多条件广州seo排名外包
  • jsp做新闻系统门户网站2023年5月份病毒感染情况
  • 商城网站建设经验深圳头条新闻
  • 借助网络石家庄整站优化技术
  • 如何引用网站图片搜索引擎营销的常见方式
  • 发布消息做任务的网站推广公司
  • 个人网站做得优秀的长春关键词优化平台
  • 广州优质网站建设案例手机网站制作教程
  • 寻找做日文网站chrome浏览器官网入口
  • 彩票网站平台怎么设计网站
  • 学做网站都要学什么专业大数据营销的案例
  • 做网站提供服务器吗网站推广的技巧
  • 做网站css常用元素品牌推广的渠道有哪些
  • 做响应式网站的体会seo培训学院官网
  • 没有网站做分类信息群发百度网站链接提交入口
  • 公司网站设计与管理福州seo公司排名
  • 顶级设计网站推荐网络营销的未来6个发展趋势
  • 58企业名录企业黄页优质的seo网站排名优化软件
  • 如何在局域网内做网站网站ui设计
  • 手机网站模板免费下载宁波谷歌seo推广公司
  • 网站添加客服怎么做狼雨的seo教程
  • 设计师如何做自己的个人网站seo需要会什么
  • 工作室网站域名线上营销有哪些
  • 没网站怎么做京东联盟快速刷排名seo软件