NAME: Eze Michael
MATRICULATION NUMBER: 7222309
PROJECT DESCRIPTION: This project involves creating a hierarchy of classes to model different types of vehicles and their characteristics.
Development Environment:
- Programming Language: Java
- Integrated Development Environment: Eclipse
- JDK Version: Java SE 8 (1.8.0_421)
- Operating System: Cross-platform (Windows, macOS, Linux)
Key Features:
- Engine Superclass and its Subclasses:
- Engine Superclass: This class defines common attributes and methods for different types of engines.
- Subclasses: These inherit from the Engine superclass and add specific attributes or methods for different engine types (e.g., PetrolEngine, DieselEngine).
- Manufacture Class with Setters and Getters:
- Manufacture Class: This class encapsulates details about the manufacturer, such as name, and country.
- Setters and Getters: These methods allow controlled access to the private attributes of the Manufacture class, ensuring data encapsulation and integrity.
- Vehicle Superclass and its Subclasses:
- Vehicle Superclass: This class serves as a blueprint for various types of vehicles, with an abstract method showCharacteristics().
- Subclasses: These inherit from the Vehicle superclass and include specific attributes or methods for different vehicle types (e.g., ICEV, BEV, HybridV).
- Arrays of Vehicle:
- This feature involves creating arrays to store multiple instances of the Vehicle subclasses, allowing for easy management and manipulation of a collection of vehicles.
- Demonstrate ShowCharacteristics():
- This method is used to display the characteristics of each vehicle in the array, showcasing the use of inheritance and polymorphism.
Expected Outcome: By the end of this project, I have an understanding of how to design and implement a class hierarchy in Java, including the creation of superclasses and subclasses. I am also proficient in using setters and getters to manage class attributes. This project also enhances my skills in object-oriented programming and improves my ability to manage and develop Java projects within an IDE.