38 lines
1.3 KiB
Java
38 lines
1.3 KiB
Java
package org.model;
|
|
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) {
|
|
//Call super constructor to initialize inherited fields from Vehicle
|
|
super(brand, model, year, mileage);
|
|
this.seats = seats;
|
|
}
|
|
//getEnergyType() → return "Unknown"
|
|
public String getEnergyType() {
|
|
return "Unknown";
|
|
}
|
|
|
|
|
|
//showDetails() to print brand, model, year, mileage, and number of seats
|
|
public void showDetails() {
|
|
System.out.println("Car Details:");
|
|
System.out.println("Brand:" + getBrand());
|
|
System.out.println("Model: " + getModel());
|
|
System.out.println("Year: " + getYear());
|
|
System.out.println("Mileage:" + getMileage() + " km");
|
|
System.out.println("Seats: " + seats);
|
|
}
|
|
|
|
// Implement Serviceable.needsService(Vehicle v) -> Check if mileage > 10000
|
|
public boolean needsService(Vehicle v) {
|
|
return v.getMileage() > 10000;
|
|
}
|
|
|
|
//Implement Serviceable.performService() -> Print general service message
|
|
public void performService() {
|
|
System.out.println("General car service completed");
|
|
}
|
|
}
|