Skip to content
This repository was archived by the owner on Mar 25, 2026. It is now read-only.

RomanGulevatiy/miniLibrary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏗️ Структура проєкту

src/
   dispatcher/
      Main.java       // Головний клас
   model/
      Book.java       // Клас для опису книг
      User.java       // Клас для звичайного користувача
   service/
      Librarian.java  // Клас бібліотекаря (успадковує User)
      Library.java    // Клас бібліотеки

Хід виконання проєкту

📕 Створення класу Book

  • Поля: title, author, year, status (available/borrowed).
  • Два конструктори (з дефолтним статусом та з самостійним заданням статусу).
  • Геттери та сеттери.
  • toString() для зручного відображення інформації про книгу.

👤 Створення класу User

  • Поле name та ліст borrowedBooks.
  • Конструктор та геттери.
  • Методи:
    • borrowBook(Book) - позичити книгу;
    • returnBook(Book) - повернути книгу.
  • toString() для виводу інформації про користувача.

👤📖 Створення класу Librarian (успадковує User)

  • Додаткове поле: список actions (історія дій).
  • Імпортував конструктор та додав геттер.
  • Методи registerAction() у двох варіантах (перевантаження):
    • За об’єктом Book;
    • За назвою книги (String bookTitle).
  • Перевірка дії що хоче виконати користувач (borrow/return), доступності книги та вивід повідомлень.
  • Перевизначений toString() для виводу інформації про бібліотекаря.

🏛️ Створення класу Library

  • Поля: лісти books та users.
  • Статичні змінні: лічильник доданих книг та користувачів.
  • Конструктор та геттери.
  • Методи:
    • addBook(Book) - додати книгу;
    • addUser(User) - додати користувача;
    • findBookByTitle(String) - знайти книгу за назвою;
    • displayAllBooks() - показати всі книги;
    • displayAllUsers() - показати всіх користувачів;
    • displayAllUserActions(Librarian) - показати історію дій.

About

Java pro course lecture homework

Resources

License

Stars

Watchers

Forks

Contributors

Languages