IWorkFactory.java
- public interface IWorkFactory {
- Work getWork();
- }
StudentWorkFactory.java
- public class StudentWorkFactory implements IWorkFactory {
- @Override
- public Work getWork() {
- // TODO Auto-generated method stub
- return new TeacherWork();
- }
- }
TeacherWorkFactory.java
- public class TeacherWorkFactory implements IWorkFactory {
- @Override
- public Work getWork() {
- // TODO Auto-generated method stub
- return new StudentWork();
- }
- }
StudentWork.java
- public class StudentWork implements Work {
- @Override
- public void work() {
- // TODO Auto-generated method stub
- System.out.println("學生做作業!");
- }
- }
TeacherWork.java
- public class TeacherWork implements Work {
- @Override
- public void work() {
- // TODO Auto-generated method stub
- System.out.println("老師審批作業!");
- }
- }
Work.java
- public interface Work {
- void work();
- }
Test.java
- public class Test {
- public static void main(String[] args) {
- IWorkFactory studentWorkFactory = new StudentWorkFactory();
- studentWorkFactory.getWork().work();
- IWorkFactory teacherWorkFactory = new TeacherWorkFactory();
- teacherWorkFactory.getWork().work();
- }
- }