标签:工厂模式
工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。
举个例子,有大学生和志愿者两种类型的人在帮助老人,比如扫地、洗衣、做饭等,我们统成为这些人为雷锋。
定义一个雷锋类
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