//工厂方法设计模式:
public class TestFactoryMethod {
public static void main(String[] args) {
new StduentWorkFactory().getWork().work();
IWorkFactory factory = new TeacherWorkFactory();
factory.getWork().work();
}
}
interface IWorkFactory{
Work getWork();
}
class StduentWorkFactory implements IWorkFactory{
@Override
public Work getWork() {
return new StudentWork();
}
}
class TeacherWorkFactory implements IWorkFactory{
@Override
public Work getWork() {
return new TeacherWork();
}
}
interface Work{
public abstract void work();
}
class StudentWork implements Work{
public void work(){
System.out.println("学生听课学习");
}
}
class TeacherWork implements Work{
public void work(){
System.out.println("老师讲课辅导");
}
}