# Java Classes This project contains how Java classes can extend from a parent class and how to be implemented in different files. The main class is `Main.java`, where the class Sport, SUV and Hybrid are being used and extend from Vehicle class. ## Diagram ```mermaid classDiagram class Vehicle { -String make -String model +int doors -int year +EngineType typeOfEngine +Vehicle(String make, String model, int year) +EngineType getManualEngineType() +EngineType getAutomaticEngineType() +String getMake() +EngineType getTypeOfEngine() +int getDoors() +String getModel() +int getYear() +String forward() +String reverse() +String stop() } class EngineType { <> AUTOMATIC MANUAL } class SUV { -boolean fourWheelDrive +SUV(String make, String model, int year, boolean fourWheelDrive) +boolean hasFourWheelDrive() +String forward() +String reverse() +String stop() +String engageFourWheelDrive() } class Sport { -int topSpeed -GearNumbers gear +Sport(String make, String model, int year, int topSpeed) -GearNumbers setGear(int gear) +double getTopSpeed() +String forward() +String reverse() +String stop() +String drift() +String nitroBoost() +void changeGearUp() +GearNumbers getGear() +void changeGearDown() +void setGearToNeutral() } class GearNumbers { <> R N GEAR_1 GEAR_2 GEAR_3 GEAR_4 GEAR_5 GEAR_6 } class Hybrid { -double batteryCapacity +Hybrid(String make, String model, int year, double batteryCapacity) +double getBatteryCapacity() +String forward() +String reverse() +String stop() } Vehicle <|-- SUV Vehicle <|-- Sport Vehicle <|-- Hybrid Vehicle *-- EngineType Sport *-- GearNumbers ```