工厂模式

工厂模式是根据不同的参数创建对象。例如用工厂创建人。 如果我们想要一个男孩,工厂就会为我们生产一个男孩;如果我们需要一个女孩,工厂则会为我们生产一个女孩。工厂会根据不同的参数,为我们提供不同的物品。

工厂模式类图

 

工厂模式示例代码

interface Human {
    public void Talk();
    public void Walk();
}
 
class Boy implements Human{
    @Override
    public void Talk() {
        System.out.println("Boy is talking...");        
    }
 
    @Override
    public void Walk() {
        System.out.println("Boy is walking...");
    }
}
 
class Girl implements Human{
 
    @Override
    public void Talk() {
        System.out.println("Girl is talking...");   
    }
 
    @Override
    public void Walk() {
        System.out.println("Girl is walking...");
    }
}
 
public class HumanFactory {
    public static Human createHuman(String m){
        Human p = null;
        if(m == "boy"){
            p = new Boy();
        }else if(m == "girl"){
            p = new Girl();
        }
 
        return p;
    }
}

工厂模式在Java标准库中的应用

根据不同的参数,getInstance()方法会返回不同的Calendar(日历)对象。

java.util.Calendar – getInstance()
java.util.Calendar – getInstance(TimeZone zone)
java.util.Calendar – getInstance(Locale aLocale)
java.util.Calendar – getInstance(TimeZone zone, Locale aLocale)
 
java.text.NumberFormat – getInstance()
java.text.NumberFormat – getInstance(Locale inLocale)

 

 

posted on 2013-11-18 17:13  亦諾  阅读(85)  评论(0编辑  收藏  举报

导航