/**
* @author 抽象工厂需要完成的产品定义
*/
public abstract class AbstractFactory {
public abstract Car newCar();
public abstract Phone newPhone();
}
/**
* 定义产品接口类 由具体实现去完成对应的产品实现
*/
public interface Car {
public void printName();
}
/**
* 具体工厂实现类
*/
public class AodiFactory extends AbstractFactory {
@Override
public Car newCar() {
return new Aodi();
}
@Override
public Phone newPhone() {
return new Huawei();
}
}
//具体产品实现
public class Aodi implements Car {
@Override
public void printName() {
System.out.println("aodi");
}
}
抽象工厂类测试
定义抽象工厂 需要生产的产品
定义产品接口 由具体产品实现去完成对应的产品实现
定义具体的工厂去实现抽象工厂类。具备某种产品的生产能力
具体工厂去调用具体产品实现类 ,完成产品实现。