抽象工厂是简单工厂基础上的封装,与简单工厂产生具体的某一个对象不同,抽象工厂用以产生一系列有关联的具体对象。
抽象工厂和简单工厂可以一起使用,如下图:
备注:本例中直接打印。
- 抽象工厂EnterFactory
public interface EnterFactory { public void createEnterInfo(); public void createEnterCheckRule();}
- 抽象工厂实现BigEnterFactoryImpl
public class BigEnterFactoryImpl implements EnterFactory { @Override public void createEnterInfo() { System.out.println("BigEnterFactory createEnterInfo"); } @Override public void createEnterCheckRule() { System.out.println("BigEnterFactory createEnterCheckRule"); }}
- 抽象工厂实现SmallEnterFactoryImpl
public class SmallEnterFactoryImpl implements EnterFactory { @Override public void createEnterInfo() { System.out.println("SmallEnterFactory createEnterInfo"); } @Override public void createEnterCheckRule() { System.out.println("SmallEnterFactory createEnterInfo"); }}
- 测试类App
public class App { public static void main(String[] args) { EnterFactory ef = new SmallEnterFactoryImpl(); ef.createEnterCheckRule(); ef.createEnterInfo(); }}