三、工厂方法的设计模式
/**
* 工厂方法的设计模式
*
*/
public class TestFactory {
public static void main(String[] args) {
IWorkFactory i1 = new StudentWorkFactory();
i1.getWork().doWork();
IWorkFactory i2 = new TeacherWorkFactory();
i2.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("Student do work...");
}
}
class TeacherWork implements Work {
@Override
public void doWork() {
System.out.println("Teacher do work...");
}
}