FactoryMethod是一种创建性模式,它定义了一个创建对象的接口,但是却让子类来决定具体实例化哪一个类.当一个类无法预料要创建哪种类的对象或是一个类需要由子类来指定创建的对象时我们就需要用到Factory Method 模式了
interface Eat{
public void eat();
}
class ChineseMan implements Eat{
public void eat(){
System.out.println("chineseman eat rice and flour");
}
}
class UsaMan implements Eat{
public void eat(){
System.out.println("usaman eat potato");
}
}
class JapaneseMan implements Eat{
public void eat(){
System.out.println("japaneseman eat shit");
}
}
class HumanFactory{
public static Eat produceChineseMan(){
return new ChineseMan();
}
public static Eat produceUsaMan(){
return new UsaMan();
}
public static Eat produceJapaneseMan(){
return new JapaneseMan();
}
}
public class FactoryMethodPattern{
public static void main(String[] args){
HumanFactory aHumanFactory=new HumanFactory();
Eat chineseEat=aHumanFactory.produceChineseMan();
chineseEat.eat();
Eat usaEat=aHumanFactory.produceUsaMan();
usaEat.eat();
Eat japaneseEat=aHumanFactory.produceJapaneseMan();
japaneseEat.eat();
Eat chineseEat2=HumanFactory.produceChineseMan();
chineseEat2.eat();
}
}
java中23种设计模式之一-工厂方法模式(factory method pattern)
原文:http://www.cnblogs.com/wudymand/p/4367074.html