为Animal
创建接口类
1 | public interface Animal { |
实体类实现Animal
接口
1 | public class Dog implements Animal { |
1 | public class Cat implements Animal { |
为Food
创建接口类
1 | public interface Food { |
实体类实现Food
接口
1 | public class Bone implements Food { |
1 | public class Fish implements Food { |
为Animal
和Food
对象创建抽象类来获取工厂
1 | public abstract class AbstractFactory { |
为Animal
和Food
对象创建各自的工厂类继承AbstractFactory
1 | public class AnimalFactory extends AbstractFactory{ |
1 | public class FoodFactory extends AbstractFactory { |
创建一个工厂创造器/生成器类,通过传递参数来获取对应工厂
1 | public class FactoryProducer { |
测试类检验成果
1 | public class AbstractFactoryDemo { |
输出结果
1 | 狗叫汪汪 |