65 lines
1.5 KiB
Java
65 lines
1.5 KiB
Java
package org;
|
|
|
|
import org.model.Vehicle;
|
|
import org.model.ElectricCar;
|
|
import org.model.GasCar;
|
|
import org.model.SportsCar;
|
|
import org.util.VehicleInspector;
|
|
import org.behavior.Serviceable;
|
|
|
|
public class Main {
|
|
public static void main(String[] args) {
|
|
|
|
|
|
ElectricCar tesla = new ElectricCar(
|
|
"Tesla", "Model S", 2022, 1000,
|
|
100, 550, 50
|
|
);
|
|
|
|
GasCar toyota = new GasCar(
|
|
"Toyota", "Corolla", 2018, 85000,
|
|
5, 50, "Petrol"
|
|
);
|
|
|
|
SportsCar ferrari = new SportsCar(
|
|
"Ferrari", "F8 Tributo", 2021, 12000,
|
|
2, 3.9, "oil", 710
|
|
);
|
|
|
|
Vehicle[] vehicles = {tesla , toyota , ferrari};
|
|
|
|
for (Vehicle v : vehicles) {
|
|
v.basicInfo();
|
|
System.out.println();
|
|
}
|
|
|
|
for (Vehicle v : vehicles) {
|
|
VehicleInspector.inspect(v);
|
|
}
|
|
|
|
Serviceable[] serviceables = {tesla, toyota, ferrari};
|
|
|
|
for (Serviceable s : serviceables) {
|
|
|
|
Vehicle v = (Vehicle) s;
|
|
|
|
v.basicInfo();
|
|
|
|
if (s.needsService(v)) {
|
|
System.out.println(v.getBrand() + " " + v.getModel());
|
|
System.out.print("Performing service: ");
|
|
s.performService();
|
|
} else {
|
|
System.out.println(v.getBrand() + " " + v.getModel() + " does NOT need service");
|
|
}
|
|
|
|
System.out.println();
|
|
}
|
|
|
|
System.out.println("=== Workshop Completed ===");
|
|
|
|
|
|
|
|
}
|
|
}
|