Write a class named Library. A library has the following attributes:• name: the name of this library.• employees: a list of LibraryEmployees that work at the library.• books: a dictionary that contains Books as keys. The value paired with each key is either anempty string, or a string representing the name of a person who has checked out the Book.The Library class should have an initializer that MAY accept employees and books as arguments,but doesn’t have to do so. If provided, these values should be assigned to the object’srespective attributes. If not provided, employees and books should begin as an empty list anddictionary, respectively. The value for the name attribute is always provided.The class should also have the following methods:• hire_employee(): takes in a new LibraryEmployee, and adds it to this library’s list ofemployees.• add_book(): takes in a new Book, and adds it to this library’s books (unless the libraryalready has this book). If the library already has the book, print out the name of the libraryfollowed by “ already has this book!”.• check_out_book(): takes in a Book and a person’s name. If this book is in the dictionary ofbooks, change the value at that key in the books dictionary to the person’s name. Otherwise,print out “Sorry, we don’t have ” followed by the name of the book and a period.• return_book(): takes in a Book. If this book is in the dictionary of books, change the valueat that key in the books dictionary to an empty string. Otherwise, print out “Sorry, wronglibrary.”.• __str__() : return the name of the library.   Create a driver program to call 3 instances and set and eventually display information. Create a book file that will be read for the list of books available currently in the library.  Create an employee output file for the employees added recently.

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter3: Using Methods, Classes, And Objects
Section: Chapter Questions
Problem 1GZ
icon
Related questions
Question

Write a class named Library. A library has the following attributes:
• name: the name of this library.
• employees: a list of LibraryEmployees that work at the library.
• books: a dictionary that contains Books as keys. The value paired with each key is either an
empty string, or a string representing the name of a person who has checked out the Book.
The Library class should have an initializer that MAY accept employees and books as arguments,
but doesn’t have to do so. If provided, these values should be assigned to the object’s
respective attributes. If not provided, employees and books should begin as an empty list and
dictionary, respectively. The value for the name attribute is always provided.
The class should also have the following methods:
• hire_employee(): takes in a new LibraryEmployee, and adds it to this library’s list of
employees.
• add_book(): takes in a new Book, and adds it to this library’s books (unless the library
already has this book). If the library already has the book, print out the name of the library
followed by “ already has this book!”.
• check_out_book(): takes in a Book and a person’s name. If this book is in the dictionary of
books, change the value at that key in the books dictionary to the person’s name. Otherwise,
print out “Sorry, we don’t have ” followed by the name of the book and a period.
• return_book(): takes in a Book. If this book is in the dictionary of books, change the value
at that key in the books dictionary to an empty string. Otherwise, print out “Sorry, wrong
library.”.
• __str__() : return the name of the library.

 

Create a driver program to call 3 instances and set and eventually display information.

Create a book file that will be read for the list of books available currently in the library. 

Create an employee output file for the employees added recently. 

AI-Generated Solution
AI-generated content may present inaccurate or offensive content that does not represent bartleby’s views.
steps

Unlock instant AI solutions

Tap the button
to generate a solution

Knowledge Booster
Class
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT