This project is a console-based library management application developed in Java using object-oriented programming principles.
The system simulates basic library operations, including customer registration, book management, membership management, and family membership authorization.
Different membership types are implemented using inheritance and polymorphism, allowing each membership to define its own borrowing limits and fees.
The application allows libraries to:
- register customers
- manage book availability
- create and manage memberships
- authorize family members under family memberships
- track borrowing privileges based on membership type
The project demonstrates how object-oriented programming concepts can be applied to model real-world library operations.
- Java
- Object-Oriented Programming (OOP)
- ArrayLists and Collections Framework
- Console-based application development
- Customer registration and management
- Book registration and availability tracking
- Book borrowing and returning
- Standard, Premium, and Family memberships
- Family member authorization verification
- Membership-specific borrowing limits
- Membership-specific fees
Customer.java– customer information and managementBook.java– book information and availability trackingMembership.java– abstract parent class for membershipsStandardMembership.java– standard membership implementationPremiumMembership.java– premium membership implementationFamilyMembership.java– family membership implementation with authorized family member trackingLibrary.java– manages books, customers, and membershipsMain.java– demonstrates system functionality
- Private attributes with getters and setters
- Controlled access to object data
- Membership types inherit from the abstract
Membershipclass
- Different membership types implement their own borrowing limits and membership fees
- Membership objects are managed through a common parent type
- Multiple constructors support different object initialization scenarios
- ArrayLists are used to manage books, customers, memberships, and family members
- Borrow limit: 5 books
- Membership fee: $20
- Borrow limit: 15 books
- Membership fee: $50
- Borrow limit: 25 books
- Membership fee: $80
- Supports multiple authorized family members
- Includes family member authorization verification
- Object-oriented programming
- Java application development
- Class and method design
- Encapsulation, inheritance, and polymorphism
- Collection management using ArrayLists
- Business rule implementation
- Application architecture and system design
