src/
dispatcher/
Main.java // Головний клас
model/
Book.java // Клас для опису книг
User.java // Клас для звичайного користувача
service/
Librarian.java // Клас бібліотекаря (успадковує User)
Library.java // Клас бібліотеки
- Поля:
title,author,year,status(available/borrowed). - Два конструктори (з дефолтним статусом та з самостійним заданням статусу).
- Геттери та сеттери.
toString()для зручного відображення інформації про книгу.
- Поле
nameта лістborrowedBooks. - Конструктор та геттери.
- Методи:
borrowBook(Book)- позичити книгу;returnBook(Book)- повернути книгу.
toString()для виводу інформації про користувача.
- Додаткове поле: список
actions(історія дій). - Імпортував конструктор та додав геттер.
- Методи
registerAction()у двох варіантах (перевантаження):- За об’єктом
Book; - За назвою книги (
String bookTitle).
- За об’єктом
- Перевірка дії що хоче виконати користувач (
borrow/return), доступності книги та вивід повідомлень. - Перевизначений
toString()для виводу інформації про бібліотекаря.
- Поля: лісти books та users.
- Статичні змінні: лічильник доданих книг та користувачів.
- Конструктор та геттери.
- Методи:
addBook(Book)- додати книгу;addUser(User)- додати користувача;findBookByTitle(String)- знайти книгу за назвою;displayAllBooks()- показати всі книги;displayAllUsers()- показати всіх користувачів;displayAllUserActions(Librarian)- показати історію дій.