publicclassTestFactoryMethod{publicstaticvoidmain(String[]args){IWorkFactoryi=newStudentWorkFactory();i.getWork().doWork();IWorkFactoryj=newTeacherWorkFactory();j.getWork...
public class TestFactoryMethod {
public static void main(String[] args) {
IWorkFactory i= new StudentWorkFactory();
i.getWork().doWork();
IWorkFactory j= new TeacherWorkFactory();
j.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("写作业");
}
}
class TeacherWork implements Work{
@Override
public void doWork() {
System.out.println("改作业");
}
}
//上面的是工厂设计模式 下面我来写我自己的
public class TestFactoryMethod {
public static void main(String[] args) {
//IWorkFactory i= new StudentWorkFactory();
//i.getWork().doWork();
//
//IWorkFactory j= new TeacherWorkFactory();
//j.getWork().doWork();
Work i = new StudentWork();
i.doWork();
Work j = new TeacherWork();
j.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("写作业");
}
}
class TeacherWork implements Work{
@Override
public void doWork() {
System.out.println("改作业");
}
}
//我觉得完全没有必要多加一个IWorkFactory接口来调用 从我的代码来看 不是更加简单么
展开