// 抽象工厂类:共享车品牌工厂
public abstract class VehicleBrandFactory {
public abstract ElectricVehicle createElectricVehicle();
public abstract Bicycle createBicycle();
}
工厂类:
// 具体工厂类:哈罗出行工厂
public class HelloFactory extends VehicleBrandFactory {
public ElectricVehicle createElectricVehicle() {
return new HelloElectricVehicle();
}
public Bicycle createBicycle() {
return new HelloBicycle();
}
}
// 具体工厂类:紫荆出行工厂
public class ZijingFactory extends VehicleBrandFactory {
public ElectricVehicle createElectricVehicle() {
return new ZijingElectricVehicle();
}
public Bicycle createBicycle() {
return new ZijingBicycle();
}
}
实现类:
// 具体实现类:哈罗自行车
public class HelloBicycle implements Bicycle {
public void rent() {
System.out.println("哈罗共享自行车正在出租中...");
}
public void returnVehicle() {
System.out.println("哈罗共享自行车正在还车中...");
}
}
// 具体实现类:哈罗电动车
public class HelloElectricVehicle implements ElectricVehicle {
public void locate() {
System.out.println("哈罗共享电动车正在寻找中...");
}
public void rent() {
System.out.println("哈罗共享电动车正在出租中...");
}
public void returnVehicle() {
System.out.println("哈罗共享电动车正在还车中...");
}
}
// 具体实现类:紫荆自行车
public class ZijingBicycle implements Bicycle {
public void rent() {
System.out.println("紫荆共享自行车正在出租中...");
}
public void returnVehicle() {
System.out.println("紫荆共享自行车正在还车中...");
}
}
// 具体实现类:紫荆电动车
public class ZijingElectricVehicle implements ElectricVehicle {
public void locate() {
System.out.println("紫荆共享电动车正在寻找中...");
}
public void rent() {
System.out.println("紫荆共享电动车正在出租中...");
}
public void returnVehicle() {
System.out.println("紫荆共享电动车正在还车中...");
}
}