Book クラスを完成させる
この演習では、図書館管理システムの基本となる構成要素を作成します。このタスクを通じて、クラス設計、メソッドの実装、状態管理など、Java におけるオブジェクト指向プログラミング(OOP)の概念を練習します。このチャレンジを完了することで、実用的で現実的なアプリケーションを作成するための貴重な経験を得ることができます。それでは、仮想書籍の世界に飛び込んでみましょう!
タスク
~/project ディレクトリにある、あらかじめ作成されたファイル Book.java を開きます。
- コード内の
TODO コメントを探します。
- 要件に従って、不足しているコードを追加し
Book クラスを完成させます。
要件
~/project ディレクトリに Book.java ファイルが既に存在している必要があります。
- コンストラクタを完成させ、すべてのフィールド(
title、author、publicationYear、isAvailable)を初期化してください。
borrowBook() メソッドを実装してください:
- 書籍が貸出可能な場合(
isAvailable が true)、isAvailable を false に設定し、true を返します。
- 書籍が貸出中で利用できない場合は、
false を返します。
returnBook() メソッドを実装してください:
isAvailable を true に設定します。
getFormattedBookDetails() メソッドを実装してください:
- 書籍のタイトル、著者、出版年を含む文字列を返します。
- フォーマットは「
Title by Author (Year)」としてください。
実行例
正しく完了すると、main メソッド内の以下のコードは:
Book book = new Book("Java Programming", "John Doe", 2023);
System.out.println(book.getFormattedBookDetails());
System.out.println("Is book available? " + book.isAvailable());
boolean borrowed = book.borrowBook();
System.out.println("Book borrowed successfully? " + borrowed);
System.out.println("Is book available now? " + book.isAvailable());
book.returnBook();
System.out.println("Is book available after return? " + book.isAvailable());
以下のような出力を生成するはずです:
cd ~/project
javac Book.java
java Book
出力例:
Java Programming by John Doe (2023)
Is book available? true
Book borrowed successfully? true
Is book available now? false
Is book available after return? true