JavaSE-接口之工厂方法的设计

package com.btp.t2;
/*
 * 工厂方法的设计模式
 * 概述:定义一个用于创建对象的接口,让子类决定实例化哪一个类。使一个类的实例化延迟到其子类。
 * 
 * 适用性:1.当一个类不知道他所必须创建的对象的类的时候
 *        2.当一个类希望由它的子类来指定它所创建的对象的时候
 *        3.当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将那一个帮助子类是
 *        代理者这一信息局部化的时候
 */
public class TestFactoryMethod {

	public static void main(String[] args) {
		
		IWorkFactory i=new StudentWorkFactory();
		i.getWork().doWork();
		
		IWorkFactory i1=new TeacherWorkFactory();
		i1.getWork().doWork();
	}

}

interface IWorkFactory{//用于创建对象的接口
	Work getWork();
}

//由StudentWorkFactory和TeacherWorkFactory来决定实例化哪一个类
class StudentWorkFactory implements IWorkFactory{

	@Override
	public Work getWork() {
		// TODO 自动生成的方法存根
		return new StudentWork();
	}
	
}

class TeacherWorkFactory implements IWorkFactory{

	@Override
	public Work getWork() {
		// TODO 自动生成的方法存根
		return new TeacherWork();
	}
	
}

interface Work
{
	void doWork();
}

class StudentWork implements Work
{

	@Override
	public void doWork() {
		// TODO 自动生成的方法存根
		System.out.println("学生写作业");
	}
	
}

class TeacherWork implements Work
{

	@Override
	public void doWork() {
		// TODO 自动生成的方法存根
		System.out.println("老师批改作业");
	}
	
}

  

posted @ 2016-01-23 16:49  GGRoddick  阅读(184)  评论(0编辑  收藏  举报