Develop a Minimum Viable Product (MVP) using Java that demonstrates the core Object-Oriented Programming (OOP) concepts covered in materials: V1.0, V2.0, V3.0, and V4.0.
- V1.0: Introduction to OOP in Java
- V2.0: Core OOP Concepts in Java
- V3.0: Java Inheritance
- V4.0: Java Polymorphism
Your MVP should be a cohesive Java application (e.g., a simple console-based management system, a text-based game, or a basic simulation) that explicitly incorporates the following principles learned from the course materials:
- Define clear classes with appropriate attributes and methods.
- Instantiate objects to demonstrate real-world modeling.
- Use access modifiers (
private,protected,public) appropriately. - Implement getters and setters for data protection and validation.
- Establish a clear "is-a" relationship using superclasses and subclasses.
- Demonstrate code reusability by inheriting fields and methods from a base class.
- Implement method overriding (runtime polymorphism) within your class hierarchy.
- Implement method overloading (compile-time polymorphism).
- Use superclass references to manipulate subclass objects dynamically.
- Git Repository Link: Submit a link to a Git repository (e.g., GitHub, GitLab, Bitbucket) containing your full project.
- Source Code: Ensure the repository contains all your well-commented Java (
.java) files. - Readme/Documentation: Your repository must include a
README.mdfile with a brief explanation of your MVP, how to compile/run it, and specific file/line references indicating where each of the core OOP concepts (V1.0 - V4.0) is demonstrated in your code. - Demonstration: Be prepared to present a short demonstration of your running application.
- Correct application of OOP principles.
- Code quality, readability, and use of standard Java naming conventions.
- Functionality of the MVP.