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

哪些网站是用java做的新闻稿范文300字

哪些网站是用java做的,新闻稿范文300字,做3d图的网站有哪些软件,更改wordpress管理员用户名概念 享元模式是一种结构型设计模式,他摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。享元模式将原始类中的数据分为内在状态数据和外在状态数据。 内在状态:就…

概念

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

适用场景

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

使用方式

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://www.hkea.cn/news/988410/

相关文章:

  • 普陀网站开发培训学校seo快速优化
  • 建一个商城网站多少钱免费的网站推广软件
  • 手机网站解决方案看网站搜什么关键词
  • 顺企网江西网站建设宜昌今日头条新闻
  • 坪山网站建设行业现状网页设计与制作代码成品
  • 网站建设需求文档模板下载学大教育一对一收费价格表
  • 小型网站怎样优化百度首页官网
  • 网站开发与iso9001关系百度上做推广怎么做
  • wordpress怎么设置导航镇江seo
  • 番禺建设网站服务软文写作网站
  • 有哪些专做自然风景图片的网站石首seo排名
  • 移动网站虚拟主机seo 排名 优化
  • 专业网站建设课程网站推广优化方式
  • 适合站长做的网站信息流广告投放工作内容
  • 做健身网站步骤网站建设网络公司
  • 武汉整站seo数据上云网站关键词优化怎么做的
  • 网站尾部网络seo推广
  • 建设一个公司网站需要什么知识网站网络推广优化
  • 政府高度重视网站建设怎么做网络推广
  • 自己做的网站是怎么赚钱免费ip地址网站
  • 郑州市政府网站集约化建设计划企业seo排名外包
  • 什么网站可以免费做护师题企业网站管理系统源码
  • 青岛专业餐饮网站制作国内搜索引擎排行榜
  • 域名有哪些seo站长之家
  • 建设网站有哪些关键词制作软件
  • 视频网站怎么制作网店推广的作用是什么
  • 网站栏目怎么做单独的搜索框云南疫情最新消息
  • 独立商城b2c电商网站开发合肥百度seo代理
  • 做购物网站需不需要交税费郑州网站托管
  • 是不是做网站就能赚钱谷歌seo关键词优化