标签:
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("老师批改作业");
}
}
标签:
原文地址:http://www.cnblogs.com/a842297171/p/5153590.html