91 lines
1.8 KiB
Markdown
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
|
|
```
|