0% found this document useful (0 votes)
16 views5 pages

OOP Java Design Questions 36 To 40

The document outlines the design of various management systems including a Library Management System, Fitness Tracking Application, Online Banking System, University Enrollment System, and Online Streaming Subscription System. Each system includes interfaces, abstract classes, concrete classes, and specific conditions for user actions. The systems are structured to manage different user roles such as members, librarians, users, trainers, customers, employees, students, faculty, viewers, and creators.

Uploaded by

martreza1092
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Topics covered

  • Transactable Interface,
  • Customer Class,
  • EnrollAble Interface,
  • Performance Metrics,
  • Data Structures,
  • Maintainability,
  • Object-Oriented Design,
  • System Functionality,
  • Class Inheritance,
  • Member Class
0% found this document useful (0 votes)
16 views5 pages

OOP Java Design Questions 36 To 40

The document outlines the design of various management systems including a Library Management System, Fitness Tracking Application, Online Banking System, University Enrollment System, and Online Streaming Subscription System. Each system includes interfaces, abstract classes, concrete classes, and specific conditions for user actions. The systems are structured to manage different user roles such as members, librarians, users, trainers, customers, employees, students, faculty, viewers, and creators.

Uploaded by

martreza1092
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Topics covered

  • Transactable Interface,
  • Customer Class,
  • EnrollAble Interface,
  • Performance Metrics,
  • Data Structures,
  • Maintainability,
  • Object-Oriented Design,
  • System Functionality,
  • Class Inheritance,
  • Member Class

Question 36: Library Management System

**Context**: Design a system to manage members and librarians in a library environment.

Interfaces:

- Borrowable: void borrowBook()

- Returnable: String returnBook()

Abstract class: LibraryUser

Fields: String userId, String section

Abstract method: void displayInfo()

Concrete method: void baseMethod() -> "Library access granted."

Concrete classes:

- Member

- Inherits LibraryUser, implements Borrowable and Returnable

- Field: ArrayList<String> borrowedBooks

- Overload borrowBook(String bookTitle)

- checkCondition() throws if [Link]() < 4

- Librarian

- Inherits LibraryUser, implements Borrowable and Returnable

- Field: String shift

- Overload borrowBook(String department)

- checkCondition() throws if section == null

File:

"library_log.txt"

Question 37: Fitness Tracking Application


**Context**: Build an application to track users and trainers in a fitness platform.

Interfaces:

- Trackable: void logWorkout()


- Advisable: String giveAdvice()

Abstract class: FitnessUser

Fields: String username, int age

Abstract method: void displayInfo()

Concrete method: void baseMethod() -> "Fitness account active."

Concrete classes:

- User

- Inherits FitnessUser, implements Trackable and Advisable

- Field: ArrayList<String> workoutHistory

- Overload logWorkout(String type)

- checkCondition() throws if age < 10

- Trainer

- Inherits FitnessUser, implements Trackable and Advisable

- Field: String specialization

- Overload logWorkout(String clientName)

- checkCondition() throws if username == null

File:

"fitness_log.txt"

Question 38: Online Banking System


**Context**: Create a digital banking system for customers and bank employees.

Interfaces:

- Transactable: void transact()

- Verifiable: String verifyAccount()

Abstract class: BankUser

Fields: String accountNumber, double balance

Abstract method: void displayInfo()


Concrete method: void baseMethod() -> "Bank session started."

Concrete classes:

- Customer

- Inherits BankUser, implements Transactable and Verifiable

- Field: ArrayList<Double> transactionHistory

- Overload transact(double amount)

- checkCondition() throws if balance < 0

- Employee

- Inherits BankUser, implements Transactable and Verifiable

- Field: String department

- Overload transact(String account)

- checkCondition() throws if accountNumber == null

File:

"banking_log.txt"

Question 39: University Enrollment System


**Context**: Design a university system to manage students and faculty enrollments.

Interfaces:

- EnrollAble: void enroll()

- TeachAble: String teach()

Abstract class: UniversityUser

Fields: String id, String department

Abstract method: void displayInfo()

Concrete method: void baseMethod() -> "University access approved."

Concrete classes:

- Student

- Inherits UniversityUser, implements EnrollAble and TeachAble


- Field: ArrayList<String> enrolledCourses

- Overload enroll(String course)

- checkCondition() throws if [Link]() != 8

- Faculty

- Inherits UniversityUser, implements EnrollAble and TeachAble

- Field: String title

- Overload teach(String subject)

- checkCondition() throws if department == null

File:

"university_log.txt"

Question 40: Online Streaming Subscription System


**Context**: Model a system to manage viewers and content creators on a streaming platform.

Interfaces:

- Streamable: void stream()

- Subscribable: String subscribe()

Abstract class: StreamUser

Fields: String userId, String planType

Abstract method: void displayInfo()

Concrete method: void baseMethod() -> "Streaming access granted."

Concrete classes:

- Viewer

- Inherits StreamUser, implements Streamable and Subscribable

- Field: ArrayList<String> watchlist

- Overload stream(String genre)

- checkCondition() throws if planType == null

- Creator
- Inherits StreamUser, implements Streamable and Subscribable

- Field: int videoCount

- Overload stream(String title)

- checkCondition() throws if [Link]()

File:

"streaming_log.txt"

You might also like