首页 > 其他 > 详细

雷锋工厂模式(笔记)

时间:2015-06-02 15:19:26      阅读:126      评论:0      收藏:0      [点我收藏+]

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

举个例子,有大学生和志愿者两种类型的人在帮助老人,比如扫地、洗衣、做饭等,我们统成为这些人为雷锋。
定义一个雷锋类

public class LeiFeng {

    public void sweep(){
        System.out.println("扫地");
    }

    public void wash(){
        System.out.println("洗衣");
    }

    public void cook(){
        System.out.println("做饭");
    }
}

接着定义大学生和志愿者两个类,继承雷锋类

public class Student extends LeiFeng {

}
public class Volunteer extends LeiFeng{

}

接着我们定义一个工厂接口,用来创建雷锋对象

public interface IFactory {
    public LeiFeng creatLeiFeng();  
}

接着定义大学生工厂类和志愿者工厂类继承工厂接口,用于创建各自的对象

//学生工厂类
public class StudentFactory implements IFactory{

    @Override
    public LeiFeng creatLeiFeng() {

        return new Student();//实例化学生类
    }

}
//志愿者工厂类
public class VolunteerFactory implements IFactory{

    @Override
    public LeiFeng creatLeiFeng() {

        return new Volunteer();//实例化志愿者类
    }
}

客户端代码

 public static void main(String[] args) {

    //工厂模式
    //定义学生工厂,如果要创建志愿者工厂类,可以在new 一个志愿者工厂类
        IFactory factory=new StudentFactory();  
        LeiFeng student=factory.creatLeiFeng();
        student.wash();
        student.sweep();
        student.cook();
    }

雷锋工厂模式(笔记)

原文:http://blog.csdn.net/qq_16687803/article/details/46328525

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!