| 時刻 | おまけ | メッセージ | |
|---|---|---|---|
| 割引き | 13時 | 3割引き | 3割引 |
| サービス | 10時と16時 | 10個で1個 | サービス中 |
| 大サービス | 15時 | 5個で1個 | 大サービス中 |
| 通常 | それ以外 | 無し | いつもどおり |
商品がワゴン(Wagon クラス)に山積みになっています。
タイムサービス中は、購入した個数によって1個おまけされます。
10時と16時のサービス中は10個で1個、15時の大サービス中は5個で1個、おまけとして余分に買えるわけです。
また、13時には新たに3割引きサービスが追加されています。
このように、タイムサービスが増減(タイムサービスの時刻やサービス内容の変更はなく、大サービスをやめたり、3割引きサービスを増やしたり)されても、Enshu503 クラス以外の既存のクラスをその都度改修しなくてもよいように改修しなさい。
9時、いつもどおりなので、1000円で10個買えた。 10時、サービス中なので、1000円で11個買えた。 11時、いつもどおりなので、1000円で10個買えた。 13時、3割引なので、1000円で14個買えた。 15時、大サービス中なので、1000円で12個買えた。 16時、サービス中なので、1000円で11個買えた。 17時、いつもどおりなので、1000円で10個買えた。
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?
タイムセールの状態を表す各クラスは、「時刻」が自クラスの担当する状態かどうか判断し、もしそうでないならば、他のクラスに処理を移譲します。
しかし、各クラスが、次のクラスを知っていてそのクラスに処理を移譲したのでは、タイムセールの増減を柔軟に行えません。なぜなら、タイムセールの削減によって、次のクラスがなくなることもあり得るからです。
したがって、各クラスは、次のクラスを固定で持つのではなく、外から与えられる(Enshu503 クラスで設定する)ようにする必要があります。
State クラスのコードを見ますか?
本当に見ますか?