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

app备案查询网站加强网站建设的通知

app备案查询网站,加强网站建设的通知,淘宝客免费网站建设,用群晖nas做网站状态模式定义如下:允许一个对象在其内部状态改变时改变它的行为,使对象看起来似乎修改了它的类。 适合状态模式的情景如下: 对象的行为依赖于它的状态,并且它必须在运行时根据状态改变它的行为。需要编写大量的条件分支语句来决定…

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

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

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

一、问题的提出

        生活中有一类事物,有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://www.yayakq.cn/news/963904/

相关文章:

  • 响应式网站制作工具美食网站设计目的
  • 网站盈利方式wordpress 浮动广告
  • 多域名一个网站备案php兼职平台
  • 网站只做建筑设计自考
  • 山东省住房城乡和建设厅网站百度推广登录入口官网网址
  • 上海html5网站建设兰州财经大学网站开发与维护
  • 化妆品网站建设的策划卓企做的网站怎么样
  • 网站建设规划面试技巧广州市番禺人才网
  • 泰安网站优化推广网络运营者应当为()
  • 丰台网站建设多少钱网站建设在哪里招聘
  • 厦门模板网站wordpress 形式php
  • 网站开发者模式下载视频教程网站开发前台 后台技术
  • 佛山做网站企业net网站建设多少前
  • 中国建设银行网站 纪念币预约高端定制网站设计
  • wix做网站教程竞品分析模板
  • 大连网站开发 选领超科技wordpress canvas
  • 大通证券手机版下载官方网站下载翡翠原石网站首页怎么做
  • 河北网站制作公司哪家好国家级建设网站
  • 网站被黑了你会怎么想你该怎么做沈阳seo排名优化教程
  • 企业网站怎么查企业内部网站制作模板
  • 网站论坛制作微信网站的制作
  • 海南省建设集团有限公司网站wordpress中文书
  • 可以放友情链接的网站自己怎么制作小程序商城
  • 网站设计一般包括网站结构设计绿色食品网站开发步骤
  • 浙江建设厅官方网站未来销售最好的行业
  • 淄博网站制作怎么收费山东省专业技术人员管理服务平台
  • 网站开发的经济可行性分析论坛网站建设多少钱
  • 如何网站seo大专网站建设的论文范文
  • 可以制作网站的软件android移动应用开发
  • 建一个国外的网站校园网站建设情况统计表