package org.model; /* * Car extends Vehicle. * This class SHOULD implement Serviceable. * * Service logic for Car: * - needsService(): return true if mileage > 10,000 * - performService(): print "General car service completed" */ import org.behavior.Serviceable; public abstract class Car extends Vehicle implements Serviceable { private int seats; public Car(String brand, String model, int year, double mileage, int seats) { // TODO: Call super constructor super(brand, model, year, mileage); this.seats = seats; } public int getSeats() { return seats; } // TODO: Override getEnergyType() → return "Unknown" @Override public String getEnergyType() { return "Unknown"; } // TODO: Override showDetails() // Print brand, model, year, mileage, and number of seats @Override public void showDetails() { System.out.println(getYear() + " " + getBrand() + " " + getModel() + " | mileage: " + getMileage() + " | seats: " + getSeats()); } /* * Implement Serviceable methods: * * needsService(Vehicle v): * - Check the mileage of the current car * - If mileage > 10000 return true * - Otherwise return false * * performService(): * - Print: "General car service completed" */ @Override public boolean needsService(Vehicle v) { return v.getMileage() > 10000; } @Override public void performService() { System.out.println("General car service completed"); } }