什么是抽象工厂模式
抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。
实现步骤
- 创建Fruit接口
public interface Fruit {
public void get();
}
- 创建抽象类
public abstract class Apple implements Fruit{
public abstract void get();
}
public abstract class Banana implements Fruit{
public abstract void get();
}
- 创建实体类并继承上面创建的抽象类,实现其方法,来模拟某一个产品族
public class SouthApple extends Apple {
public void get(){
System.out.println("采集北方苹果");
}
}
public class SouthBanana extends Banana{
public void get(){
System.out.println("采集北方香蕉");
}
}
- 创建工厂接口
public interface FruitFactory {
public Fruit getApple();
public Fruit getBanana();
}
- 创建具体的工厂类,继承工厂接口,并实现获取对象的方法
public class SouthFruitFactory implements FruitFactory{
public Fruit getApple() {
return new SouthApple();
}
public Fruit getBanana() {
return new SouthBanana();
}
}
- 在main方法中通过工厂类来获取实例对象并调用其重写的接口的方法
public class MainClass {
public static void main(String[] args) {
FruitFactory factory = new SouthFruitFactory();
Fruit apple = factory.getApple();
Fruit banana = factory.getBanana();
apple.get();
banana.get();
}
}
如果想要增加产品族,只需要增加相应的工厂即可