Tạo bởi Trần Văn Điêp|
Học PHP

Quản lý Thư Viện Cơ Bản (OOP + MySQL)

🎯 Mục tiêu học tập

  • Vận dụng OOP trong PHP để mô hình hóa bài toán quản lý thư viện.

  • Áp dụng tính bao đóng (Encapsulation)tính kế thừa (Inheritance).

  • Kết hợp PHP hướng đối tượng với cơ sở dữ liệu MySQL để lưu trữ và truy xuất dữ liệu.


🧱 Yêu cầu bài tập

  1. Tạo cơ sở dữ liệu (Database) library_db với 2 bảng:

    Bảng 1: books

    TrườngKiểu dữ liệuGhi chú
    idINT (PK, AI)Mã sách
    titleVARCHAR(100)Tên sách
    authorVARCHAR(100)Tác giả
    yearINTNăm xuất bản

    Bảng 2: ebooks

    TrườngKiểu dữ liệuGhi chú
    idINT (PK, AI)Mã sách điện tử
    titleVARCHAR(100)Tên sách
    authorVARCHAR(100)Tác giả
    yearINTNăm xuất bản
    file_sizeFLOATDung lượng (MB)
    formatVARCHAR(20)Định dạng (PDF, EPUB…)

  1. Tạo lớp Database (hoặc DBConnection)

    • Chịu trách nhiệm kết nối và truy vấn MySQL.

    • Dùng tính bao đóng (encapsulation) để bảo vệ thông tin kết nối (host, username, password, database).

    • Cung cấp các phương thức:

      • connect() để tạo kết nối.


  1. Tạo lớp Book

    • Các thuộc tính: title, author, year (đặt private).

    • Phương thức:

      • Constructor để khởi tạo dữ liệu.

      • Getter/Setter cho từng thuộc tính.

      • save() để lưu thông tin sách vào bảng books thông qua lớp Database.

      • getBookInfo() để hiển thị thông tin sách.

    → Áp dụng Encapsulation để quản lý dữ liệu an toàn qua getter/setter.


  1. Tạo lớp EBook kế thừa từ Book

    • Bổ sung thêm thuộc tính: fileSize, format.

    • Ghi đè (override) phương thức save() để lưu dữ liệu vào bảng ebooks.

    • Ghi đè phương thức getBookInfo() để hiển thị thêm thông tin file.

    → Áp dụng Inheritance để mở rộng từ lớp Book.


  1. Trong chương trình chính:

    • Tạo một đối tượng Book (ví dụ: “The Great Gatsby”).

    • Tạo một đối tượng EBook (ví dụ: “Clean Code”).

    • Gọi phương thức save() cho mỗi đối tượng để ghi vào CSDL.

    • Gọi phương thức getBookInfo() để hiển thị thông tin trên trình duyệt.


📋 Yêu cầu báo cáo sinh viên

  • Thiết kế và nộp sơ đồ lớp UML cho 3 lớp: Database, Book, EBook.

  • Giải thích rõ:

    1. Cách sử dụng Encapsulation trong lớp BookDatabase.

    2. Cách lớp EBook kế thừa lớp Book.

    3. Quy trình thêm mới dữ liệu vào CSDL qua phương thức hướng đối tượng.

Phản hồi từ học viên

5

Tổng 0 đánh giá

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó