| 番号 | おまけ | メッセージ | |
|---|---|---|---|
| 通常 | 1 | 無し | いつもどおり |
| サービス | 2 | 10個で1個 | サービス中 |
| 大サービス | 3 | 5個で1個 | 大サービス中 |
1個100円の商品がワゴン(Wagon クラス)に山積みになっています。
タイムサービス中は、購入した個数によって1個おまけされます。
サービス中は10個で1個、大サービス中は5個で1個、おまけとして余分に買えるわけです。
ワゴンである Wagon クラスを作成し、また、それに合わせて Enshu501 クラスも正しく動作するように作成しなさい。
ただし、「通常」「サービス」「大サービス」のどれが選ばれているかによって、同じように、500円や1000円で商品を買ってもおまけが異なります。実行結果は、「通常」「サービス」「大サービス」の順にタイムサービスの番号を入力しています。(ここでは、1回の入力で、500円と1000円で買っています。)
また、Wagon クラスは、タイムサービスの内容や種類の数に変更があっても(10個で1個ではなく20個で1個に変えたり、3個で1個という出血大サービスを増やしても)改修しなくてもよいようにしなさい。
1. いつもどおり 2. サービス 3. 大サービス 番号>1 いつもどおりなので、500円で5個買えた。 いつもどおりなので、1000円で10個買えた。 番号>2 サービス中なので、500円で5個買えた。 サービス中なので、1000円で11個買えた。 番号>3 大サービス中なので、500円で6個買えた。 大サービス中なので、1000円で12個買えた。 番号>
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
(なお、演習問題5-2で継承できるようにそれぞれのクラスは open を宣言しておいてください。)
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
(なお、演習問題5-2で継承できるようにそれぞれのクラスは open を宣言しておいてください。)
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?
「サービス」に変更があっても、Wagon クラスを変更しなくても済むようにするには、タイムセールの処理を Wagon クラス内で if 文によって分けるのではなく、別クラスに分けて行います。
タイムセールの状態によって、「いつも」の StateOrdinary クラスと「サービス」の StateSpecial クラスと「大サービス」の StateLimitedSpecial クラスを State クラスのサブクラスして作成し、それぞれのクラスが担当する状態のみ処理を行います。
StateOrdinary クラスのコードを見ますか?
本当に見ますか?