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

ImportNew  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

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

分享到:


本文由 ImportNew - ImportNew读者 翻译自 programcreek。如需转载本文,请先参见文章末尾处的转载要求。

文章由@昵称神马的太讨厌了翻译。如果你也希望参与类似的系列文章翻译,可以加入我们的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)
-- 扫描加关注,微信号: importnew --

原文链接: programcreek 翻译: ImportNew.com - ImportNew读者
译文链接: http://www.importnew.com/6718.html
[ 转载请保留原文出处、译者、译文链接和上面的微信二维码图片。]



相关文章

ImportNew读者

标注为 "ImportNew读者" 发布的文章,均为热心读者的投稿。感谢支持!

发表评论

name

email (not published)

website

随意打赏

提交建议
微信扫一扫,分享给好友吧。