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

外贸网站建设公司策划珠海网站建设网络公司怎么样

外贸网站建设公司策划,珠海网站建设网络公司怎么样,wordpress域名重定义,网络营销策划的方法状态模式是一种行为设计模式#xff0c;它允许对象在其内部状态发生变化时改变其行为。在状态模式中#xff0c;对象将其行为委托给当前状态对象#xff0c;从而在不同的状态下执行不同的行为#xff0c;而不必在对象自身的代码中包含大量的条件语句。 通常#xff0c;状…状态模式是一种行为设计模式它允许对象在其内部状态发生变化时改变其行为。在状态模式中对象将其行为委托给当前状态对象从而在不同的状态下执行不同的行为而不必在对象自身的代码中包含大量的条件语句。 通常状态模式包含以下几个关键角色 Context上下文持有一个状态对象的引用可以设置当前状态并在状态发生变化时通知当前状态对象执行相应的行为。 State状态定义了一个接口或抽象类用于封装与Context的一个特定状态相关的行为。 ConcreteState具体状态实现了State接口或抽象类在其中实现了与特定状态相关的行为。 状态模式的优点包括 将与状态相关的行为封装到不同的状态类中使代码结构更清晰易于维护和扩展。减少了条件语句的使用提高了代码的可读性和可维护性。将状态转换逻辑集中在Context中使得状态之间的切换更加简单。 但是状态模式也有一些缺点例如 增加了类的数量可能会导致系统中存在大量的状态类增加了系统的复杂性。在状态过多或状态转换逻辑复杂的情况下可能会导致状态管理变得困难。 总的来说状态模式适用于需要根据对象的内部状态改变其行为的情况可以帮助提高代码的可维护性和灵活性。 #include iostream #include memory// 抽象状态类 class ElevatorState { public:virtual void open() 0;virtual void close() 0;virtual void run() 0;virtual void stop() 0; };// 具体状态类打开状态 class OpenState : public ElevatorState { public:void open() override {std::cout The elevator is already open. std::endl;}void close() override {std::cout Closing the elevator door. std::endl;}void run() override {std::cout Cannot run when the door is open. std::endl;}void stop() override {std::cout Stopping the elevator. std::endl;} };// 具体状态类关闭状态 class CloseState : public ElevatorState { public:void open() override {std::cout Opening the elevator door. std::endl;}void close() override {std::cout The elevator door is already closed. std::endl;}void run() override {std::cout Running the elevator. std::endl;}void stop() override {std::cout Stopping the elevator. std::endl;} };// 上下文类电梯 class Elevator { private:std::shared_ptrElevatorState state;public:Elevator() {// 初始状态为关闭状态state std::make_sharedCloseState();}void setState(std::shared_ptrElevatorState newState) {state newState;}void open() {state-open();}void close() {state-close();}void run() {state-run();}void stop() {state-stop();} };int main() {Elevator elevator;elevator.open(); // Opening the elevator door.elevator.close(); // Closing the elevator door.elevator.run(); // Running the elevator.elevator.stop(); // Stopping the elevator.return 0; }/* 在这个示例中我们首先定义了一个抽象状态类 ElevatorState包含了四个虚函数 分别代表电梯的四种状态打开、关闭、运行和停止。然后定义了两个具体状态类 OpenState 和 CloseState 分别代表电梯的打开和关闭状态并实现了抽象状态类中的四个虚函数。接着定义了一个上下文类 Elevator表示电梯对象其中包含一个状态对象的引用 并提供了一系列操作电梯的方法这些方法在运行时会根据电梯的当前状态委托给状态对象来执行相应的行为。在 main 函数中我们创建了一个电梯对象并通过调用其各种方法来模拟电梯的操作。 在每次操作时根据当前状态的不同电梯会表现出不同的行为这正是状态模式的作用所在。*/ 觉得有帮助的话打赏一下呗。。
http://www.zqtcl.cn/news/944009/

相关文章:

  • 京东商城网站怎么做静态网页有什么特点
  • 网站上线准备工作网站源码运行
  • 视频剪辑自学网站wordpress怎样改头像
  • 女装网站模板青岛开发区网站
  • dede网站后台海外网络服务器
  • 三合一企业网站模板wordpress做的外贸网站
  • 常州做企业网站的公司亚马逊雨林有原始部落吗
  • 临沂网站设计哪家好qq浏览器网页版进入
  • seo资料站哔哩哔哩官方网站首页
  • 前端怎么做网站万网域名管理入口
  • asp.net 做网站实例特别酷炫网站
  • 个人网站的内容网页设计图片显示不出来怎么弄
  • 福建省建设人才与科技发展中心网站首页关于制作网站收费标准
  • 什么软件可以发帖子做推广中山优化网站
  • 中山网站建设开发网络营销的基本功能
  • 温州平阳县网站建设兼职免费下载简历模板
  • 导购网站 转化率wordpress 拓展
  • 美文分享网站源码互联网网站建设
  • 做网站用php还是python建设网站价格
  • 平台网站怎么做诱导网站怎么做
  • 网站建设人员构成网址申请域名
  • 微网站建设找哪家公司好郑州一凡网站建设
  • 江阴网站制作公司泉州网站建设论坛
  • 最新章节 62.一起来做网站吧时钟插件+wordpress
  • 惠州市建设规划局网站网页设计实训报告word
  • 大众汽车网站建设鳌江网站建设
  • 佛山外贸网站建设公司网站与网页区别
  • HTML网站建设课程微商怎么做网站
  • 专业数据分析网站wordpress 很差
  • 请人做个网站多少钱google推广妙招