設計模式之工廠模式



interface Work{
 public void doWork();
}

class StudentWork implements Work{

 @Override
 public void doWork() {
  System.out.println("student 寫作業");
 }
 
}

class TeacherWork implements Work{

 @Override
 public void doWork() {
  System.out.println("teacher 批改作業");
 }
}

interface WorkFactory{
 public Work getWork();
}

class StudentWorkFactory implements WorkFactory{

 @Override
 public Work getWork() {
  return new StudentWork();
 }
 
}

class TeacherWorkFactory implements WorkFactory{

 @Override
 public Work getWork() {
  return new TeacherWork();
 }
 
}



public class TestFactory {

 /**
  * @Title: main
  * @Description:
  * @param:
  * @return void 
  * @user: wangzg
  * @Date:2014-10-27
  * @throws
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub

  WorkFactory workFactory1 = new StudentWorkFactory();
  workFactory1.getWork().doWork();
  
  System.out.println();
  
  WorkFactory workFactory2 = new TeacherWorkFactory();
  workFactory2.getWork().doWork();
 }

}

發佈了146 篇原創文章 · 獲贊 260 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章