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

南昌餐厅网站建设中国建筑公司排名前20

南昌餐厅网站建设,中国建筑公司排名前20,做网站设计工作的报告,网页模版素材状态模式定义如下:允许一个对象在其内部状态改变时改变它的行为,使对象看起来似乎修改了它的类。 适合状态模式的情景如下: 对象的行为依赖于它的状态,并且它必须在运行时根据状态改变它的行为。需要编写大量的条件分支语句来决定…

        状态模式定义如下:允许一个对象在其内部状态改变时改变它的行为,使对象看起来似乎修改了它的类。

适合状态模式的情景如下:

  • 对象的行为依赖于它的状态,并且它必须在运行时根据状态改变它的行为
  • 需要编写大量的条件分支语句来决定一个操作的行为,而且这些条件恰好表示对象的一种状态。

一、问题的提出

        生活中有一类事物,有N种状态,在每种状态下均有不同的特征。在一定的条件下,状态间可以相互转化。例如水有固液气三态。

二、状态模式

事物有N个状态,且维护状态变化。从这句话得出重要结论:

  • 状态类有共同的父接口,N个不同的状态实现类
  • 事物类中包含状态类父接口成员变量声明,用以反映语义:事物有N个状态
  • 事物类中一定有方法选择分支,判断事物当前处于何种状态 

状态模式必须完成下面内容的编制:

  • State:状态接口,封装特定状态所对应的行为
  • ConcreteState:具体实现状态处理的类
  • Context:事物类,也称上下文类,通常用来定义多态状态接口 ,同时维护一个来具体处理当前状态的实例对象。

 (1)定义状态抽象接口IState

public interface IState {public void goState();
}

(2)定义状态实现类

public class ConcreteStateA implements IState{@Overridepublic void goState() {System.out.println("这是状态A");}
}public class ConcreteStateB implements IState{@Overridepublic void goState() {System.out.println("这是状态B");}
}

(3)定义状态上下文维护类

public class Context {private IState state;public void setState(IState state) {this.state = state;}public void manage() {state.goState();}
}

三、实例

以水的状态为例:

(1)定义水状态抽象接口

public interface IWaterState {void handle();
}

(2)定义三个状态实现类

public class LiquidState implements IWaterState {@Overridepublic void handle() {System.out.println("水处于液态");}
}public class SolidState implements IWaterState {@Overridepublic void handle() {System.out.println("水处于固态");}
}public class GasState implements IWaterState {@Overridepublic void handle() {System.out.println("水处于气态");}
}

(3)定义上下文类

// 定义上下文类
public class Water {private IWaterState state;public void setState(IWaterState state) {this.state = state;}public void handle() {state.handle();}
}

(4)测试

public class Test {public static void main(String[] args) {Water water = new Water();// 将水的初始状态设置为液态water.setState(new LiquidState());water.handle();// 将水的状态设置为固态water.setState(new SolidState());water.handle();// 将水的状态设置为气态water.setState(new GasState());water.handle();}
}

结果:

水处于液态
水处于固态
水处于气态

在这个例子中,我们定义了一个状态接口(State),并实现了具体的状态类(LiquidState、SolidState和GasState)。在上下文类Water中,我们将状态设置为不同的值,然后调用handle方法来执行状态所对应的操作。 


文章转载自:

http://3ZWnAPy2.yktr.cn
http://vQxkSJgw.yktr.cn
http://h4EswTZU.yktr.cn
http://asXINkct.yktr.cn
http://HxOUhOFc.yktr.cn
http://9uHphiH6.yktr.cn
http://cgvjcevL.yktr.cn
http://IeNbJzNj.yktr.cn
http://Ui1V11ve.yktr.cn
http://ejEG9rtn.yktr.cn
http://DmZlQfYR.yktr.cn
http://fjrzyvpn.yktr.cn
http://JSio8KC8.yktr.cn
http://3jnC166S.yktr.cn
http://zDEeBoUV.yktr.cn
http://XTxY80hM.yktr.cn
http://dQbLbWqO.yktr.cn
http://XdoJ54I8.yktr.cn
http://NLhG6N1B.yktr.cn
http://VHz3WVhj.yktr.cn
http://U95HXxmK.yktr.cn
http://7sZ0TEI1.yktr.cn
http://RDUVcwCh.yktr.cn
http://zgmegaxQ.yktr.cn
http://z0FrISpK.yktr.cn
http://IUoBpTK0.yktr.cn
http://D747FHgh.yktr.cn
http://ACRedkng.yktr.cn
http://I8kyeFWA.yktr.cn
http://lBYPUO3d.yktr.cn
http://www.cdong.cn/news/230/

相关文章:

  • 做网站模板出售类网站怎么样产品系统设计案例
  • 怎么申请网站域名赚钱外贸公司经营范围
  • 如何做网站卖产品抖音短视频制作教程
  • 免费帮忙做网站wordpress段首空格
  • 建购物的网站需要多少钱网页设计制作与代码整体素材
  • 做动画相册在哪个网站好网页设计跟网站建设
  • 网站建设汕头团风网站建设
  • 个人备案号 可以做游戏网站吗营销型网站建设供货商
  • 烟台网站建设ytwzjsdjango做企业级网站
  • 在网上做黑彩网站会怎样php商城网站开发实例视频
  • 做网站的公司推荐上海网站建设 找思创网络
  • 昆明企业网站开发seo云优化软件
  • dede网站名称不能中文电商设计师岗位职责
  • 网站制作免费软件wordpress新浪图床
  • 国内建网站流程学院网站建设工作总结
  • 网站设为主页功能怎么做家装建材公司网站建设
  • 网站怎么做百度排名百度推广开户免费
  • 企业为何选择网站推广外包?世界500强企业查询
  • 做外贸网站哪里好全国十大猎头公司
  • 怎么做教育类型的网站生产管理
  • 展示营销类网站设计公司logo免费设计生成器
  • 为什么我的电脑打开了第一个网站打开第二个网站就网络出问题了?怎样建设自己网站
  • 找个网站电子邮箱注册
  • 个人营销型网站建公司网站的公司
  • 广州网站建设建设网站中英文转换js
  • 8080端口wordpressseo新手快速入门
  • 做公司网站比较好的网站建设项目体会
  • 网站开发进度控制计划表关于建设网站的报告
  • mvc网站开发 案例视频网站建设考试样题及答案
  • 手机医疗网站建设wordpress 建门户网站