Description
Unformatted Attachment Preview
INHERITANCE/ POLYMORPHISM Homework
Problem Statement: Develop a university course registration system that utilizes the principles of
inheritance and polymorphism to model the diverse types of courses o ered, including lectures,
seminars, and labs.
Requirements:
1. Design a base class named “Course” with fundamental attributes like course code, title,
instructor, and maximum capacity. Include methods for enrolling students, checking
available seats, and generating class schedules.
NOTE: You must add additional attributes of at least 1- 2 of your own.
2. Derive subclasses for distinct types of courses, such as “LectureCourse,” “SeminarCourse,”
and “LabCourse.” Each subclass should inherit from the “Course” base class and extend it
with specific attributes and methods tailored to the characteristics of each course type.
Implement polymorphism to override methods as needed.
3. Implement a flexible enrollment system that accommodates variations in prerequisites,
and enrollment restrictions like maximum capacity, based on the course type. Use
polymorphism to customize enrollment logic.
NOTE: prerequisites can be an attribute of a course of any data structure
You must add at least 1 enrollment restriction of your own
4. Design a student class with attributes such as student ID, name, and enrolled courses,
enabling the system to keep track of individual student registrations and academic
progress.
5. Through the command line interface, students should be able to browse available courses,
check prerequisites, and enroll in desired classes. Utilize polymorphism to provide a
consistent interface for di erent course types.
6. Develop a command line interface for students to retrieve the course details they have
enrolled in.
Purchase answer to see full
attachment