栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA设计模式(15)行为型-状态模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA设计模式(15)行为型-状态模式


允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。

//@author v: jbossjf
package com.roc.state;

public class Context {

    private State state;
    
    public Context(State state){
        this.state=state;
    }

    public State getState() {
        return state;
    }

    public void setState(State state) {
        this.state = state;
    }
    
    public void stateChange(){
        state.action(this);
    }
    
}
package com.roc.state;

public abstract class State {
    public abstract void action(Context context);
}
package com.roc.state;

public class OpenSate extends State{

    public void action(Context context) {
        System.out.println("开");
        context.setState(new CloseState());
    }

}

 

package com.roc.state;

public class CloseState extends State{

    public void action(Context context) {
        System.out.println("关");
        context.setState(new OpenSate());
    }

}
package com.roc.state;

public class Client {
    public static void main(String[] args) {
        Context context=new Context(new CloseState());
        context.stateChange();
        context.stateChange();
        context.stateChange();
        context.stateChange();
        context.stateChange();
        context.stateChange();
        context.stateChange();
        context.stateChange();
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328908.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号