Menu
CoddyTech

Tổng quan dự án và thiết kế UML

Thuộc phần Lập trình hướng đối tượng trong hành trình Java của Coddy. Bài học 77 trên 87.

challenge icon

Thử thách

Dễ

Hãy bắt đầu dự án Hệ thống quản lý thư viện bằng cách xây dựng nền tảng: các lớp thực thể cốt lõi mà mọi thành phần khác sẽ dựa vào. Thử thách đầu tiên này tập trung vào việc tạo các lớp Book và User có cấu trúc tốt để mô hình hóa các thực thể cốt lõi của hệ thống.

Bạn sẽ sắp xếp code trong ba tệp:

  • Book.java: Tạo lớp Book đại diện cho một cuốn sách trong thư viện. Mỗi cuốn sách cần có các thuộc tính private gồm isbn (String), title (String), author (String) và isAvailable (boolean, mặc định là true). Thêm hàm khởi tạo nhận isbn, title và author. Tạo các phương thức getter phù hợp cho tất cả thuộc tính và một phương thức setter cho isAvailable. Thêm phương thức getDetails() trả về một chuỗi có định dạng: [isbn] title by author.
  • User.java: Tạo lớp User đại diện cho một thành viên thư viện. Mỗi người dùng cần có các thuộc tính private gồm id (String) và name (String). Thêm hàm khởi tạo nhận cả hai giá trị và tạo các phương thức getter cho từng thuộc tính. Thêm phương thức toString() trả về: User[id]: name.
  • Main.java: Kết hợp các lớp để chứng minh chúng hoạt động chính xác. Bạn sẽ nhận năm đầu vào: ISBN, tiêu đề, tác giả của một cuốn sách, sau đó là ID và tên của người dùng.

    Tạo một Book bằng ba đầu vào đầu tiên và một User bằng hai đầu vào cuối. In thông tin chi tiết của sách bằng getDetails(), sau đó in trạng thái sách còn hay không còn trong thư viện theo định dạng Available: true hoặc Available: false. Cuối cùng, in thông tin người dùng bằng phương thức toString().

Bạn sẽ nhận năm đầu vào theo thứ tự: ISBN (String), tiêu đề (String), tác giả (String), ID người dùng (String) và tên người dùng (String).

Ví dụ, với các đầu vào 978-0-13-468599-1, Effective Java, Joshua Bloch, U001 và Alice Smith, đầu ra sẽ là:

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

Các lớp nền tảng này sẽ là những khối xây dựng cho toàn bộ Hệ thống quản lý thư viện. Trong các bài học sắp tới, bạn sẽ mở rộng chúng với chức năng mượn sách, khả năng tìm kiếm và nhiều tính năng khác!

Tự làm thử

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Đọc thông tin sách
        String isbn = scanner.nextLine();
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        
        // Đọc thông tin người dùng
        String userId = scanner.nextLine();
        String userName = scanner.nextLine();
        
        // TODO: Tạo đối tượng Book với isbn, title và author
        
        // TODO: Tạo đối tượng User với userId và userName
        
        // TODO: In ra thông tin chi tiết của sách bằng getDetails()
        
        // TODO: In ra trạng thái sách có sẵn hay không (định dạng: "Available: true" hoặc "Available: false")
        
        // TODO: In ra thông tin người dùng bằng toString()
    }
}

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch Java online