现在的位置: 首页 > 综合 > 正文

设计模式之状态模式

2013年08月04日 ⁄ 综合 ⁄ 共 468字 ⁄ 字号 评论关闭

设计模式之状态模式

既然是状态模式(State Pattern),那肯定要有状态类喽,那么建立一个抽象的State类:

abstract class State{

void operation()=0;

}

状态是为具体的环境所服务的,状态模式说的就是,当一个对象的状态改变时允许改变其行为,这个对象看起来就像改变了其类。建立一个这样的类:

class Context{

State state;

Context(State s){state=s;}

Context(){}

void setState(State s){state=s;}

void operation(){

state.operate();

}

}

也有人在

void operation(){

state.operate();

}

这个地方写成

void operation(){

state.operate(this);

}

这样,就在具体的State类中来控制Context状态改变了;原来的话,需要在客户端,或者Context类中来控制自己的状态的改变。

具体的State类,做什么样的操作,这里就不写了。

抱歉!评论已关闭.