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

1.8 KiB

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

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