一、建接口类
//工厂模式解决的问题:对象如何向外提供?
public interface Fruit {
public void show();
}
二、建实现类
public class Apple implements Fruit {
@Override
public void show() {
System.out.println("我是苹果");
}
}
public class Banana implements Fruit {
@Override
public void show() {
System.out.println("我是香蕉");
}
}
public class Orangle implements Fruit {
@Override
public void show() {
System.out.println("我是橘子");
}
}
三、建工厂类
public class FruitFactory {
public static final int FRUIT_TYPE_ORANGLE = 1;
public static final int FRUIT_TYPE_BANANA = 2;
public static final int FRUIT_TYPE_APPLE = 3;
public static Fruit getFruit(int fruit_type) {
switch (fruit_type) {
case FRUIT_TYPE_ORANGLE:
return new Orangle();
case FRUIT_TYPE_BANANA:
return new Banana();
case FRUIT_TYPE_APPLE:
return new Apple();
}
throw new RuntimeException("找不到水果类型");
}
}
四、建测试类
public class Test {
public static void main(String[] args) {
Fruit fruit=FruitFactory.getFruit(FruitFactory.FRUIT_TYPE_ORANGLE);
Fruit fruit1=FruitFactory.getFruit(FruitFactory.FRUIT_TYPE_BANANA);
Fruit fruit2=FruitFactory.getFruit(FruitFactory.FRUIT_TYPE_APPLE);
fruit.show();
fruit1.show();
fruit2.show();
}
}
五、运行结果