创建型模式之二:工厂模式
创建型模式之二:工厂模式
刀狂剑痴 发表于2年前
创建型模式之二:工厂模式
  • 发表于 2年前
  • 阅读 16
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 学生专属云服务套餐 10元起购>>>   

1. 工厂模式的故事

工厂模式的作用是根据不同的参数新建对象,下面的例子是关于在工厂中造人,如果我们问工厂要一个男孩,工厂就会生产一个男孩,如果我们问工厂要一个女孩,工厂就会生产一个女孩,基于不同的参数,工厂会生产不同的东西。

2.工厂模式的类图

3.工厂模式的代码

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 inLocate)

以上文章翻译自: http://www.programcreek.com/2013/02/java-design-pattern-factory/

标签: 设计模式
共有 人打赏支持
粉丝 18
博文 111
码字总数 82582
×
刀狂剑痴
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: