develop #1

Merged
HoseinA05 merged 4 commits from develop into master 2026-07-30 13:22:43 +00:00
2 changed files with 83 additions and 0 deletions
Showing only changes of commit b39befac19 - Show all commits
+12
View File
@@ -56,4 +56,16 @@ public class ElectricCar extends Car implements Chargeable {
chargeLevel += amount;
}
}
@Override
public void performService() {
super.performService();
System.out.println("Electric engine and oil checked");
this.chargeLevel = 100;
}
@Override
public boolean needsService(Vehicle v) {
return getMileage() > 10000;
}
}
+71
View File
@@ -0,0 +1,71 @@
package org.model;
import org.behavior.Chargeable;
import org.behavior.Refuelable;
public class HybridCar extends Car implements Refuelable, Chargeable {
private double fuelLevel;
private String fuelType;
private int batteryCapacity;
private double chargeLevel;
public HybridCar(String brand, String model, int year, double mileage, int seats, double fuelLevel, String fuelType, int batteryCapacity, double chargeLevel) {
super(brand, model, year, mileage, seats);
this.fuelLevel = fuelLevel;
this.fuelType = fuelType;
this.batteryCapacity = batteryCapacity;
this.chargeLevel = chargeLevel;
}
@Override
public String getEnergyType() {
return "Hybrid (Gas + Gasoline)";
}
@Override
public void showDetails() {
super.showDetails();
System.out.println(" | fuel level: " + fuelLevel + " | charge level: " + chargeLevel);
}
@Override
public boolean needsService(Vehicle v) {
return v.getMileage() > 10000;
}
@Override
public void performService() {
System.out.println("Engine oil changed and battery system checked");
this.fuelLevel = 100;
this.chargeLevel = 100;
}
@Override
public void charge(double amount) {
if(amount < 0)
System.out.println("amount unacceptable");
else{
if (chargeLevel + amount > 100)
chargeLevel = 100;
else
chargeLevel += amount;
}
}
@Override
public void refuel(double amount) {
if(amount < 0)
System.out.println("amount unacceptable");
else{
if (fuelLevel + amount > 100)
fuelLevel = 100;
else
fuelLevel += amount;
}
}
}