设计模式:工厂模式_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 设计模式:工厂模式

设计模式:工厂模式

 2013/12/13 16:09:22  LeonHover  程序员俱乐部  我要评论(0)
  • 摘要:1、简述工厂模式是通常用不同的参数来创建不同(属性不同等)对象实例的一种模式。下面的例子就是用工厂来创建人类Humen。如果你请求工厂创建一个男孩,工厂就给你一个男孩的实例,如果你请求工厂创建一个女孩,工厂就给你一个女孩实例。基于你传入的参数,工厂创建不同的实例。2、工厂模式类图3、实例代码interfaceHuman{publicvoidTalk();publicvoidWalk();}classBoyimplementsHuman{@OverridepublicvoidTalk()
  • 标签:模式 设计 设计模式

1、简述

工厂模式是通常用不同的参数来创建不同(属性不同等)对象实例的一种模式。下面的例子就是用工厂来创建人类Humen。如果你请求工厂创建一个男孩,工厂就给你一个男孩的实例,如果你请求工厂创建一个女孩,工厂就给你一个女孩实例。基于你传入的参数,工厂创建不同的实例。

2、工厂模式类图


3、实例代码

class="java" name="code">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、工厂模式在标准库中的例子

基于传入的参数不同,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)

?

  • 大小: 11.5 KB
  • 查看图片附件
发表评论
用户名: 匿名