Java--设计模式之工厂模式

来源:互联网 发布:网络教育能报四级英语 编辑:程序博客网 时间:2024/06/06 03:26

工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

简单工厂vs工厂模式:简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。

我们通过一个学雷锋的小例子来看一下如何实现工厂方法模式。

1、雷锋基类

public class LeiFeng {public void sweep(){System.out.println("扫地");}public void wash(){System.out.println("洗衣服");}public void buyRice(){System.out.println("买米");}}
2、志愿者继承雷锋
public class Volunteer extends LeiFeng{}
3、大学生继承雷锋
public class UnderGraduate extends LeiFeng{}
4、雷锋工厂
public interface IFactory {LeiFeng createLeiFeng();}
5、学雷锋的大学生工厂
public class UnderGraduateFactory implements IFactory{@Overridepublic LeiFeng createLeiFeng() {return new UnderGraduate();}}
6、学雷锋的志愿者工厂
public class VolunteerFactory implements IFactory{@Overridepublic LeiFeng createLeiFeng() {return new Volunteer();}}
7、测试
public class Test {public static void main(String[] args) {// 要换成社区志愿者只需要更改UnderGraduateFactory即可IFactory factory = new UnderGraduateFactory();LeiFeng student = factory.createLeiFeng();student.buyRice();student.sweep();student.wash();}}

0 0
原创粉丝点击