この、「初期状態」「数値入力状態」「数式作成状態」「計算結果表示状態」がStateパターンでは オブジェクトのインスタンスで表現されます。 そして、そのクラスには「数字入力」「演算子入力」「'='入力」「'C'入力」の4つのメソッドが定義されます。 Java /** @param <R> Stateの具象型 */ public interface State<R extends State> { /** 数値の入力 * @return 遷移するState. 以下同じ */ R onInputNumber(int num); /** 演算子の入力 */ R onInputOperation(Operation ope); /** '='の入力 */ R onInputEquale(); /** 'C'の入力 */ R onInputClear(); } C# public interface