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 ==="); } }