设计模式之工厂方法

工厂方法


概述:定义一个用于创建对象的接口,让子类决定实例化哪一个类,FactoryMethod使一个类的实例化延迟到其子类。

适用性:
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();
}

class StudentWorkFactory implements IWorkFactory{
    @Override
    public Work getWork(){
        return new StudentWork();
    }
}

class TeacherWorkFactory implements IWorkFactory{
    @Override
    public Work getWork(){
        return new TeacherWork();
    }
}


interface Work{
    void doWork();
}
class StudentWork implements Work{
    @Override
    public void doWork(){
        System.out.println("学生写作业");
    }

}
class TeacherWork implements Work{
    @Override
    public void doWork(){
        System.out.println("老师批改作业");
    }

}
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页