先创建一个汽车的功能接口,让汽车都实现它的基本功能
public interface Car {
void run();
}
创建一个汽车工厂的接口,用于生产不同品牌的汽车
public interface CarFactory {
Car createCar();
}
创建一个audi车和auto车都要事先Car接口,具备汽车的基本功能才能叫做汽车
public class Audi implements Car{
@Override
public void run() {
System.out.println("audi跑起来了");
}
}
public class Auto implements Car{
@Override
public void run() {
System.out.println("奥拓跑起来了");
}
}
创造audi和auto的生产工厂
public class AudiFactory implements CarFactory{
@Override
public Car createCar() {
return new Audi();
}
}
public class AutoFactory implements CarFactory{
@Override
public Car createCar() {
return new Auto();
}
}
现在我们要去创建汽车了
public class Client {
public static void main(String[] args) {
Car c1 = new AudiFactory().createCar();
Car c2 = new AutoFactory().createCar();
c1.run();
c2.run();
}
}
结果:
audi跑起来了
奥拓跑起来了
如果又来了一个汽车品牌(Benz)来我们这里生产加工,先创建这个对象类让他继续实现汽车的基本功能
public class Benz implements Car{
@Override
public void run() {
System.out.println("benz跑起来了");
}
}
然后创建它(Benz)的生产工厂
public class BenzFactory implements CarFactory{
@Override
public Car createCar() {
return new Benz();
}
}
接着我们利用Benz工厂创建它就好了
public class Client {
public static void main(String[] args) {
Car c1 = new AudiFactory().createCar();
Car c2 = new AutoFactory().createCar();
c1.run();
c2.run();
Car c3 = new BenzFactory().createCar();
c3.run();
}
}
结果:
audi跑起来了
奥拓跑起来了
benz跑起来了