码迷,mamicode.com
首页 > 其他好文 > 详细

雷锋工厂模式(笔记)

时间:2015-06-02 15:19:36      阅读:188      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!