当前位置: 移动技术网 > IT编程>软件设计>设计模式 > 入门设计模式之状态模式

入门设计模式之状态模式

2018年07月07日  | 移动技术网IT编程  | 我要评论

 

学习更多设计模式请参考:

 

状态模式:允许一个对象在其内部状态改变时改变其行为。

 

举一个简单的小例子,我们在对一个小姐姐搭讪的时候,根据小姐姐的心情如何我们可能会得到不同的回复。

 

看一下类图

 

 

  1. Girl:抽象状态接口:用于封装男孩对象搭讪小姐姐获得回复的接口
  2. AngryGirl、HappyGirl:两个状态实现类。不同的状态就对应了男孩在不同时刻获得的回复。
  3. Boy:持有一个状态实例。

 

看一下代码:

public interface Girl {
    public void say();
}

public class AngryGirl implements Girl {
    @Override
    public void say() {
        System.out.println("滚");
    }
}

public class HappyGirl implements Girl {
    public void say(){
        System.out.println("你好哦,小哥哥");
    }
}

public class Boy {
    private Girl girl;

    public void say(){
        this.girl.say();
    }

    public void setGirl(Girl girl){
        this.girl=girl;
    }
}

 

如此,Boy持有不同状态的Girl对象时获取的回复是不同的,这样就实现了一个简单的状态模式。




本文出自,转载请保留。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网