情報モデルを思い出そう。
シュライアー・メラーのオブジェクトライフサイクルでは、オブジェクトの 動的な関係は、状態モデルとプロセスモデルによって表される。
オブジェクトは、いつも同じような動作をするわけではない。あるメッセージを 受け取った後には、異なる振る舞いをするのが普通である。例えば、
しかし、オブジェクトはまったく予想できない動作をするわけではない。この 場合でも、この一連の動作は一種のループになっていて、ループの各点では 同じ動作をすると期待される。このようなループがオブジェクトライフサイクル を構成する。
「扉を閉める」「スィッチ」などがオブジェクトの状態を変えるきっかけ である。これらを「イベント」と呼ぶのが普通である。オブジェクトの状態は イベントによって変わる、あるいは、オブジェクトの状態を変えるものが イベントである。
この(個々の)オブジェクトの振る舞いを表すのには、状態遷移図を使うのが
普通である。例えば、一番簡単な例として電灯の状態遷移図を書いてみよう。
電子レンジの振る舞いを表す状態遷移図を記述してみよ
Java で状態遷移を記述するにはどうすれば良いか? 緑、黄、赤と 順に変化する信号機をJavaで記述してみよ。