Tvorba třídy Knihovna
Požadavky na absolvování
5. Pomocné třídy
Třída
Třída
Otevřené: Pondělí, 4. prosince 2023, 00.00
Termín: Neděle, 10. prosince 2023, 23.59
Cíl projektu: Vytvoření třídy Library
, která bude reprezentovat základní funkcionalitu knihovny v jazyce, jako je Java. Tato třída bude zahrnovat atributy, konstruktor a metody pro správu knih a čtenářů.
1. Atributy třídy
libraryName
: Řetězec obsahující název knihovny.bookList
: Seznam nebo pole obsahující všechny knihy v knihovně.readerList
: Seznam nebo pole obsahující všechny čtenáře knihovny.maxBooksPerReader
: Celé číslo určující maximální počet knih, které si může čtenář vypůjčit.
2. Konstruktor
- Konstruktor, který inicializuje
libraryName
a nastavíbookList
areaderList
na prázdné seznamy/pole.maxBooksPerReader
by mělo být nastaveno na standardní hodnotu, například 5.
3. Metody
addBook(book)
: Metoda pro přidání nové knihy do knihovny.removeBook(book)
: Metoda pro odebrání knihy z knihovny.borrowBook(book, reader)
: Metoda pro vypůjčení knihy čtenářem. Zkontrolujte, zda čtenář již nedosáhl svého limitu výpůjček.returnBook(book, reader)
: Metoda pro vrácení knihy čtenářem do knihovny.addReader(reader)
: Metoda pro registraci nového čtenáře.removeReader(reader)
: Metoda pro odstranění čtenáře z knihovny.listAvailableBooks()
: Metoda, která vrací seznam všech knih, které nejsou momentálně vypůjčené.listBorrowedBooks()
: Metoda, která vrací seznam všech momentálně vypůjčených knih.
4. Dodatečná výzva
- Implementujte systém pokut pro případy, kdy jsou knihy vráceny pozdě. To zahrnuje přidání atributu
returnDate
ke knihám a metodu pro výpočet pokuty na základě počtu dní zpoždění.
5. Pomocné třídy
Třída Book
Atributy:
title
: Řetězec obsahující název knihy.author
: Řetězec obsahující jméno autora knihy.
Konstruktor:
- Konstruktor, který přijímá
title
aauthor
jako parametry a inicializuje tyto atributy.
Třída Reader
Atributy:
name
: Řetězec obsahující jméno čtenáře.
Konstruktor:
- Konstruktor, který přijímá
name
jako parametr a inicializuje tento atribut.
- 4. prosince 2023, 08.22