標籤:int 蘋果 actor als 客戶 返回 sys 抽象 public
package gongchangdemo;/* * 在java開發中使用較多的一種設計模式:原廠模式:就是一個過渡端 * 通過過度端來取得介面的執行個體化對象,這個過渡端就稱為工廠factory * 這個模式主要是為瞭解決修改子類,必須要修改main方法,而main方法主要是用戶端,用戶端 * 經常變來變去不太好,就引進:原廠模式 */public class gongchangdemo {public static void main(String args[]) { //getinstance 方法是靜態所以可以用類名直接調用 //fruit f =null ; //f = factory.getinstance("apple"); //f.eat(); //上面寫得apple是固定的,能否通過初始化參數的方法,則可以選擇任意的子類去標記 fruit f = null; f = factory.getinstance(args[0]); if (f!=null) { f.eat(); } }}//寫一個介面interface fruit{ //寫一個吃的抽象類別 public abstract void eat();}//寫一個子類去實現fruitclass apple implements fruit{ public void eat(){ System.out.println("我在吃蘋果"); }}//再寫一個子類去實現fruitclass orange implements fruit{ public void eat(){ System.out.println("我在吃橘子"); }}//寫一個過渡端 類factory,擷取介面的執行個體化對象class factory{ //返回 fruit類型的,所以用fruit修飾 public static fruit getinstance(String classname){ //先初始化 fruit f =null; //傳過來的參數與子類名對比 if ("apple".equals(classname)) { f = new apple(); } if ("orange".equals(classname)) { f = new orange(); } return f; } }
java開發中使用的工廠設計模式