欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

讲故事,学(Java)设计模式—工厂模式,java设计模式

来源: javaer 分享于  点击 10823 次 点评:201

讲故事,学(Java)设计模式—工厂模式,java设计模式


文章由@昵称神马的太讨厌了翻译。如果你也希望参与类似的系列文章翻译,可以加入我们的Java开发 和 技术翻译 小组。

1.关于工厂模式

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

2.工厂模式类图

 

3.工厂模式Java代码

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;
	}
}

4.工厂模式在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)
原文链接: programcreek 翻译: Wld5.com - Wld5读者
译文链接: http://www.wld5.com/6718.html
[ 转载请保留原文出处、译者和译文链接。]

相关栏目:

用户点评