Files
WS-03-advanced-oop-mohammad…/src/main/java/org/model/Car.java
T

72 lines
1.6 KiB
Java

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