狀態類別的實作

本節會實作一個分派方法及每一個狀態物件的建構子。您可以選擇非階層式的實作策略來變更此實作,此策略不會產生狀態類別。

例如:

class_state1::class_state1(class* c, State* p, 
   State* cmp): LeafState(p, cmp) { 
   // State constructor
};

int class_state1::takeEvent(short id) {
   int res = eventNotConsumed;
   switch(id) {
      case event1_id: {
         res = concept->state1Takeevent1(); 
         // Dispatching the transition method
         break;
      };
   };
};

回饋