Files
MSCS535_Assignment6/README.md
Carlos Gutierrez 29d6b7c97e feat: adding vehicle classes and main program
The classes are on Vehicles folder and being used in Main.java file.
2026-01-25 16:23:01 -05:00

91 lines
1.8 KiB
Markdown

# 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 {
<<enumeration>>
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 {
<<enumeration>>
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
```