状态模式
状态模式是行为型模式的一种。状态模式基于状态决定类的行为。具体做法是我们实现一个状态抽象类/接口,继承或实现的子类分别对应不同的状态,且子类中重写不同的方法。
我们实现根据孩子的不同状态说不同话的功能。
State抽象类
public abstract class State {
public abstract void say();
}
HappyState类
public class HappyState extends State{
@Override
public void say() {
System.out.println("happy");
}
}
SadState类
public class SadState extends State{
@Override
public void say() {
System.out.println("no happy");
}
}
Kid类
public class Kid {
State state;
public State getState() {
return state;
}
public void setState(State state) {
this.state = state;
}
}
测试状态类
public class TestState {
public static void main(String[] args) {
HappyState happyState = new HappyState();
happyState.say();
}
}