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

南宁网站建设liluokj做网站上传的图片大小

南宁网站建设liluokj,做网站上传的图片大小,新沂做网站,电子商务seo是指什么意思1、状态模式的提出 在组件功能开发过程中,某些对象的状态经常面临变化,不同的状态,其对象的操作行为不同。比如根据状态写的if else条件情况,且这种条件变化是经常变化的,这样的代码不易维护。可以使用状态模式解决这…

1、状态模式的提出

在组件功能开发过程中,某些对象的状态经常面临变化,不同的状态,其对象的操作行为不同。比如根据状态写的if else条件情况,且这种条件变化是经常变化的,这样的代码不易维护。可以使用状态模式解决这类问题。状态模式是将状态值抽象成一个基类,将不同状态下的操作,封装成基类中的虚函数,使用者可以依赖抽象的基类来进行功能开发。

2、需求描述

一年有不同节日,不同的节日穿不同的衣服,吃不同的食物。节日可能会随着人们的生活习俗不断地增加。设计一个根据不同地节日,返回对应穿着和食物方面的功能代码。

3、状态模式的代码实现

(1)UML图如下:

(2)代码实现如下:

#include <iostream>
class AbsFestival
{
public:virtual ~AbsFestival(){};virtual void Eat()=0;virtual void Wear()=0;
};class FestivalA:public AbsFestival
{
public:static FestivalA* getInstance(){static FestivalA obj;return &obj;};virtual void Eat()override{std::cout << "FestivalA Eat" << std::endl;}virtual void Wear()override{std::cout << "FestivalA Wear" << std::endl;};
};class FestivalB:public AbsFestival
{
public:static FestivalB* getInstance(){static FestivalB obj;return &obj;};virtual void Eat()override{std::cout << "FestivalB Eat" << std::endl;}virtual void Wear()override{std::cout << "FestivalB Wear" << std::endl;};
};class FestivalC:public AbsFestival
{
public:static FestivalC* getInstance(){static FestivalC obj;return &obj;};virtual void Eat()override{std::cout << "FestivalC Eat" << std::endl;}virtual void Wear()override{std::cout << "FestivalC Wear" << std::endl;};
};class FestivalD:public AbsFestival
{
public:virtual void Eat()override{std::cout << "FestivalD Eat" << std::endl;}virtual void Wear()override{std::cout << "FestivalD Wear" << std::endl;};
};class Client
{
protected:AbsFestival *time;
public:void SetTime(AbsFestival* p){time = p;}void DoWork(){time->Eat();time->Wear();}
};int main()
{Client useObj;FestivalA festivalA;useObj.SetTime(festivalA.getInstance());useObj.DoWork();FestivalB festivalB;useObj.SetTime(festivalB.getInstance());useObj.DoWork();FestivalC festivalC;useObj.SetTime(festivalC.getInstance());useObj.DoWork();FestivalD* festivalD = new FestivalD();useObj.SetTime(festivalD);useObj.DoWork();delete festivalD;festivalD = nullptr;return 0;
}

 程序运行结果如下:

http://www.yayakq.cn/news/504881/

相关文章:

  • 唐山哪里有建设网站广州宣传片制作公司
  • 自己建设网站流程百度网盘资源搜索
  • 有哪些做场景秀的网站关键词排名的排名优化
  • 福田做网站价格wordpress导航单页
  • 怎么做网站寄生虫win2003创建网站
  • 保险做的好的网站国内最大的摄影网站
  • 网站域名是什么友情连接
  • 网站托管方式高德地图海外能用吗
  • 查网站是否备案广州市新闻发布会
  • 企业网站改版方案手机高端网站建设
  • 什么网站做电子元器件网站推广做那个较好呢
  • 企业网站宣传建设制作安卓app的软件
  • 网站自己可以备案吗用html网站建设过程
  • 如何解决旅游网站建设问题最经济 网站建设
  • 建设网站八大员成绩查询网站建设写什么经营范围
  • 做网站推广选哪家上海浦东建筑建设网站
  • 公司门户网站建设特点合肥网站建设王正刚
  • 广告型网站怎么做的html5设计网页代码
  • 做一个简单网站扬州建设银行网站
  • phpcms v9做网站打开网站弹出图片代码
  • 俄罗斯网站推广毕业设计网站源码
  • 看电视剧的免费网站大全网站服务器和网站备案
  • 企业网站优化软件文字图片生成器在线
  • 西安建设网站首页苏州长尾词seo排名优化
  • 黄山网站建设费用做集团网站一年多少钱
  • 网站风格和功能设计方案wordpress menu gif
  • 教育平台oss做视频网站一二三四视频社区
  • 上海 网站制作网页前端开发用什么软件
  • 网站范例佛山app开发公司排名
  • 网站建设公司合肥云主机安装网站