JAVA设计模式实战---工厂模式!!!
package IMF;
public class DesignPatternFactoryOps {
public static void main(String[] args) {
Fruit f=null;
f=FruitFactory.getInstance("Pairs"); //要一个Pairs,工厂就生产一个Pairs
if(f !=null){
f.eat(); //Pairs的吃法
}
f=FruitFactory.getInstance("Apple");//要一个Apple,工厂就生产一个Apple
if(f !=null){
f.eat(); //Apple的吃法
}
}
}
interface Fruit { //水果接口
public void eat();
}
class Apple implements Fruit{
@Override
public void eat() { //苹果的吃法
// TODO Auto-generated method stub
System.out.println("Eat an Apple");
}
}
class Pairs implements Fruit{
@Override
public void eat() { //Pairs 的吃法
// TODO Auto-generated method stub
System.out.println("Eat a Pairs");
}
}
class FruitFactory{ //定义一个工厂
public static Fruit getInstance(String fruit){ //getInstance方法
Fruit f=null;
if ("Apple".equals(fruit)){
f=new Apple(); //新建一个苹果
}
if("Pairs".equals(fruit)){
f=new Pairs(); //新建一个Pairs
}
return f;
}
}
运行结果
Eat a Pairs
Eat an Apple