只要轉(zhuǎn)換進入或離開某個狀態(tài),則該狀態(tài)可能包含要被執(zhí)行的動作。進入一個狀態(tài)可能會執(zhí)行一個依附于該狀態(tài)的入口動作。如果轉(zhuǎn)換離開初始狀態(tài),那么在轉(zhuǎn)換的動作和新狀態(tài)的入口動作被執(zhí)行前,執(zhí)行該狀態(tài)的出口動作。 入口動作通常用來進行狀態(tài)所需要的內(nèi)部初始化。因為不能回避一個入口動作,任何狀態(tài)內(nèi)的動作在執(zhí)行前都可以假定狀態(tài)的初始化工作已經(jīng)完成,不需要考慮如何進入這個狀態(tài)。同樣,無論何時從一個狀態(tài)離開都要執(zhí)行一個出口動作來進行后處理工作。當出現(xiàn)代表錯誤情況的高層轉(zhuǎn)換使嵌套狀態(tài)異常終止時,出口動作特別有用。出口動作可以處理這種情況以使對象的狀態(tài)保持前后一致。 入口動作和出口動作原則上依附于進來的和出去的轉(zhuǎn)換,但是將它們聲明為特殊的動作可以使狀態(tài)的定義不依賴狀態(tài)的轉(zhuǎn)換,因此起到封裝的作用。 比如在電子表的例子中,進入計時狀態(tài)是要初始清零計時器,更改顯示形式。 |
相關(guān)帖子

受教受教,各位繼續(xù)發(fā)言…… <無內(nèi)容> - yewuyi 2004-9-2 18:15:02 [ID:1351072 點擊:17] (0 Bytes) (0)
聽課了、聽課了 <無內(nèi)容> - dadodo 2004-9-2 17:36:58 [ID:1351015 點擊:18] (0 Bytes) (0)
下面再來繼續(xù)介紹子狀態(tài)的概念 - AIRWILL 2004-9-2 17:17:11 [ID:1350984 點擊:25] (735 Bytes) (0)
入口和出口動作 - AIRWILL 2004-9-2 13:28:08 [ID:1350672 點擊:39] (776 Bytes) (0)
呵呵 - fsaok 2004-9-1 18:26:24 [ID:1349567 點擊:62] (22 Bytes) (0)
個人的理解,多指教 - AIRWILL 2004-9-1 16:03:38 [ID:1349416 點擊:75] (1598 Bytes) (0)
同意zhbd 的觀點, - lm7556 2004-9-1 11:37:45 [ID:1348991 點擊:92] (40 Bytes) (0)
關(guān)注 - dylm 2004-9-1 11:05:32 [ID:1348909 點擊:96] (166 Bytes) (0)
我也找個位置坐下來聽課 - zhbd 2004-9-1 0:20:05 [ID:1348531 點擊:113] (359 Bytes) (0)
好好好,我趕快搬板凳來聽課 - _21icbbs 2004-8-31 13:52:33 [ID:1347701 點擊:137] (98 Bytes) (0)
關(guān)于 狀態(tài) 和 狀態(tài)機 的描述 - AIRWILL 2004-8-31 13:28:24 [ID:1347669 點擊:141] (1735 Bytes) (0)
我是個外行 - dadodo 2004-8-31 1:40:03 [ID:1347339 點擊:157] (64 Bytes) (0)
狀態(tài)機都有一個時鐘信號,有一個時序進程 - lm7556 2004-8-30 20:35:56 [ID:1347066 點擊:170] (213 Bytes) (0)
狀態(tài)機的時序 - dafei 2004-8-30 18:09:53 [ID:1346925 點擊:186] (418 Bytes) (0)
好?。顟B(tài)機是一種設(shè)計方法,非常愿意和大家多研究。 - lm7556 2004-8-30 17:58:38 [ID:1346904 點擊:189] (236 Bytes) (0)
狀態(tài)機方法與編程 - dafei 2004-8-30 14:59:07 [ID:1346528 點擊:221] (1904 Bytes) (0)
我覺得狀態(tài)機最大的優(yōu)點在于 狀態(tài)轉(zhuǎn)換的圖 - AIRWILL 2004-8-30 14:13:26 [ID:1346467 點擊:229] (321 Bytes) (0)
1) 基于狀態(tài)標志 states 的處理方式; - ambercctv 2004-8-30 13:37:45 [ID:1346399 點擊:247] (49 Bytes) (0)