実現したいこと
「ゲーム機」を管理する新規Javaファイルを作成し、以下指定のクラス、フィールド、メソッドを作って下さい。
可読性を考慮した、読みやすいコードを書くよう心がけて下さい。
(変数名やインデントなど)
【ゲーム機:抽象クラス】
フィールド
・ソフト名
・電源が入っているかどうか
メソッド
・ソフトを入れる(文字列を渡す)
- フィールドのソフト名がまだ入っていなければ、引数の文字列をソフト名にセット
- フィールドのソフト名が入っている場合は独自例外を投げる
・電源を入れる
- フィールドの電源を入れる
・電源を切る
- フィールドの電源を切る
・プレイする:戻り値は文字列
- 抽象メソッドとし実装は継承先で行う
【任天堂Switch:ゲーム機を拡張】
コンストラクタ
・「Nintendo Switchを作成します」と出力
メソッド
・プレイする:戻り値は文字列
- 電源が入っていれば「 Nintendo Switchの(ソフト名)をプレイします」と出力
- 電源が入っていなければ「電源が入っていません」と出力
- ソフト名を戻り値として返す
・分離する
- 「コントローラを分離します」と出力
【PlayStation4:ゲーム機を拡張】
コンストラクタ
・「PlayStation4を作成します」と出力
メソッド
・プレイする:戻り値は文字列
- 電源が入っていれば「PlayStation4の(ソフト名)をプレイします」と出力
- 電源が入っていなければ「電源が入っていません」と出力
- ソフト名を戻り値として返す
・ブルーレイを再生
- 「ブルーレイを最初から再生します」と出力
・ブルーレイを再生(数値) オーバーロード
- 「ブルーレイをトラック(数値)から再生します」と出力
「ゲーム機」とは別の「Test3」のファイルを作りmainメソッドを入れ、次のコードを記述し実行してください。
1.「ゲーム機」のListを作る
2.「任天堂Switch」のインスタンスを作り、ソフト名に"ゼルダ"をセットし、電源を入れたらListに追加
3.「PlayStation4」のインスタンスを作り、ソフト名に"バイオハザード"をセットし、電源を入れたらListに追加
4.Listをループして、プレイするを実行
5.ゼルダの電源を切ってから、もう一度Listをループして、プレイするを実行
6.バイオハザードのブルーレイを再生
7.バイオハザードのブルーレイを再生(3)でトラック数を指定して再生
8.ゼルダの分離するを実行
9.バイオハザードがセットされているPlayStation4に再度任意のソフト名をセットして例外を発生させる。例外は受け取ったら「エラーが発生しました:(エラー詳細)」と出力
実行結果
※例外名は任意
発生している問題・分からないこと
題名の通り、複数クラスを作成して、実現したいことで書かれていることを何から実装していけばよいのかがわかりません。
完成形がまったく頭に浮かばないので、質問させていただきました。
勉強し始めて3日目ということもあり、まだ名称とコードが紐づいていない状況なので、勉強不足なのはとてもよくわかっておりますが、どなたかご教示いただけますと幸いです。
該当のソースコード
特になし
試したこと・調べたこと
上記の詳細・結果
知人に聞いた結果、
①test3.java、②GameMachine.java、③Switch.java、④PlayStation4.java、⑤Test1Exception.java
というファイルを作って、継承させて要件を満たすと教えてもらいました。
しかし、継承をまだ実際に書いたことがないため、イメージが付きません。
Google等でサンプルコードを調べましたが、なぜそのような書き方になるのかがわからなかったため、今回質問させていただきました。
自分の現在の実力に見合ってない課題だと痛感しておりますが、ご助言いただけますと大変助かります。
補足
特になし
0 コメント