IAction
+void action1();+void action2();+void action3();
State3
+void action3();
n......1
StateMachine
-State1 mState1;-State1 mState2;-State1 mState3;-AbState currentState;
+void setmStateMachine(IStateMachine)+IState getCurrentState()+void action1();+void action2();+void action3();
State2
+void action1();
AbState
-IStateMachine mStateMachine
+void setmStateMachine(IStateMachine)+void action1();+void action2();+void action3();
State1
+void action1();+void action2();
Client