一、概述:
抽象工厂模式提供一个接口,用于创建相关戒依赖对象的家族,而不需要明确挃定具体类。抽象工厂模式与工厂方法模式的区别在于:抽象工厂产生的是一系列产品,而工厂方法模式产生的是一具体的产品
1.定义一个接口:
public interface Factory {
public Fruit getFruit(String type);
public Veggie getVeggie(String type);
}
2.建立两个子接口:
public interface Fruit {}
public interface Veggie {}
3.实现类:
public class TorpicalFruit implements Fruit {
public TorpicalFruit(){
System.out.println("这是热带水果");
}
}
public class TorpicalVeggie implements Veggie {
public TorpicalVeggie(){
System.out.println("这是热带蔬菜");
}
}
4.抽象工厂:
public class TorpicalFactory implements Factory {
@Override
public Fruit getFruit(String type) {
return new TorpicalFruit();
}
@Override
public Veggie getVeggie(String type) {
return new TorpicalVeggie();
}
}
5.测试:
public static void main(String[] args) {
Factory f = new TorpicalFactory();
f.getFruit("");
f.getVeggie("");
}