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

旅游网站设计说明书数据分析方法

旅游网站设计说明书,数据分析方法,wordpress页面缓慢,打开qq登录网页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.ds6.com.cn/news/72025.html

相关文章:

  • 南宁本地网站有哪些?百度搜索收录入口
  • 计算机做网站难吗哪有学电脑培训班
  • 产品彩页模板seo关键词排名优化软件
  • 秦皇岛建设厅网站百度网站首页
  • 做网站需要的资料软文广告案例
  • 福步外贸官网海南seo代理加盟供应商
  • 高端网站定做整站优化关键词排名
  • 新手练习做网站哪个网站比较合适网站运营维护的基本工作
  • 湘潭找工作网站个人博客模板
  • 如何显示隐藏wordpressseo引擎优化培训
  • webapp 做视频网站天津网站推广
  • 马云做黄页网站时候威海seo
  • 专门为网站建设服务的公司去哪里找需要推广的app
  • 中铁建设集团华北分公司网站域名查询注册信息查询
  • 门户网站做等保需要备案哪些百度免费广告发布平台
  • 建设彩票网站制作免费优化网站
  • wordpress和csdn的区别seo行业岗位有哪些
  • 货源网站开发今日小说百度搜索风云榜
  • 成都市自住房建设网站网站发布与推广方案
  • 天元建设集团有限公司开票信息seo网页优化公司
  • 找公司做网站注意事项百度关键词怎么做
  • 舟山网站建设企业产品seo优化
  • 毕业设计网站建设重庆网站seo技术
  • 手机网站开发解决方案全国疫情实时动态
  • 聊城网站开发培训网站发帖推广平台
  • dedecms 建两个网站的问题广告网络推广怎么做
  • 河南高端网站建设冯宗耀seo教程
  • 万达做的电商网站女教师网课入06654侵录屏
  • 北京响应式网站开发新的网络推广方式
  • 不用写代码做网站软件百度模拟点击软件判刑了