Menu
Coddy logo textTech

プロジェクトの概要とUML設計

CoddyのJavaジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 77/87。

challenge icon

チャレンジ

簡単

図書館管理システムプロジェクトの第一歩として、すべての基盤となるコアエンティティクラスを構築しましょう。この最初のチャレンジでは、レッスンで学んだUML設計に従って、適切に構造化された Book クラスと User クラスを作成することに焦点を当てます。

コードは3つのファイルに分けて構成します:

  • Book.java: 図書館の本を表す Book クラスを作成します。各本は、isbn (String)、title (String)、author (String)、および isAvailable (boolean、デフォルトは true) のプライベートフィールドを持つ必要があります。isbn、title、authorを受け取るコンストラクタを含めてください。すべてのフィールドに対して適切なゲッターメソッドを提供し、isAvailable に対してはセッターを提供してください。さらに、[isbn] title by author という形式の文字列を返す getDetails() メソッドを追加してください。
  • User.java: 図書館の利用者を代表する User クラスを作成します。各ユーザーは、id (String) と name (String) のプライベートフィールドを持つ必要があります。両方の値を受け取るコンストラクタを含め、各フィールドのゲッターメソッドを提供してください。さらに、User[id]: name を返す toString() メソッドを追加してください。
  • Main.java: 作成したクラスを組み合わせて、正しく動作することを確認します。4つの入力を受け取ります:本のISBN、タイトル、著者、そしてユーザーのIDと名前です。

    最初の3つの入力で Book を作成し、最後の2つの入力で User を作成します。getDetails() を使用して本の詳細を出力し、次に Available: true または Available: false という形式で本が利用可能かどうかを出力します。最後に、toString() メソッドを使用してユーザーを出力します。

入力は、ISBN (String)、タイトル (String)、著者 (String)、ユーザーID (String)、ユーザー名 (String) の順に5つ受け取ります。

例えば、入力が 978-0-13-468599-1Effective JavaJoshua BlochU001Alice Smith の場合、出力は以下のようになります:

[978-0-13-468599-1] Effective Java by Joshua Bloch
Available: true
User[U001]: Alice Smith

これらの基礎となるクラスは、図書館管理システム全体の構成要素となります。今後のレッスンでは、これらに貸出機能や検索機能などを追加して拡張していきます!

自分で試してみよう

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 本の情報を読み込む
        String isbn = scanner.nextLine();
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        
        // ユーザー情報を読み込む
        String userId = scanner.nextLine();
        String userName = scanner.nextLine();
        
        // TODO: isbn、title、author を使用して Book オブジェクトを作成する
        
        // TODO: userId と userName を使用して User オブジェクトを作成する
        
        // TODO: getDetails() を使用して本の詳細を表示する
        
        // TODO: 本が利用可能かどうかを表示する (形式: "Available: true" または "Available: false")
        
        // TODO: toString() を使用してユーザーを表示する
    }
}

オブジェクト指向プログラミングのすべてのレッスン