StateMachine是一个层次状态机:一个状态可以有多个子状态的状态机。状态机中的状态需继承基类State,并实现成员函数processMessage,从而对收到的Message进行处理;
一个状态对应于一个<State>对象,并且状态必须实现<processMessage>方法,可选的实现方法是<enter/exit/getName>,<enter/exit>方法对应于构造和析构函数,它们被用于初始化和清理状态。
StateMachine的构造函数都是protected类型,不能实例化;都是由其子类进行初始化操作。
enter方法:
exit方法: