傳統的工廠設計模式每增加乙個介面的子類就需要修改工廠類。
由於太過於麻煩可以通過反射來進行處理,因為class類可以使用newinstance()來例項化物件,使用class.forname()接受類名稱。
引入反射後每當有新子類增加啊,無需修改工廠類**就就可以很方便的進行介面子類擴容。
package reflectexcrise.reflect;
inte***ce ifruit
public void eat()
}class orange implements ifruit
}class watermellon implements ifruit
}class factory
public static ifruit getinstance(string classname) catch (instantiationexception e) catch (illegalacces***ception e) catch (classnotfoundexception e)
return ifruit; }}
public class test
}
使用class.forname()方法,傳入的類名稱必須包含包名稱,即,包名稱.類名稱。
再呼叫newinstance()例項化具體類的物件
java簡單工廠模式
1.新建計算類 public class operation 設定 numa param numa public void set numa double numa 獲取 numb return numb public double get numb 設定 numb param numb publi...
Java 簡單工廠模式
簡單工廠模式又稱靜態工廠模式。從命名上就可以看出這個模式很簡單 定義乙個用於建立物件的介面。簡單工廠模式由工廠類角色 抽象產品角色和具體產品角色組成。工廠類角色是本模式的核心,含有一定的商業邏輯和判斷邏輯,它往往由乙個具體類實現。抽象產品角色一般是具體產品繼承的父類或者實現的介面,由介面或者抽象類來...
java 簡單工廠模式
簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項 被建立的例項通常都具有共同的父類 或者父介面 簡單工廠模式的 uml 圖 1 抽象產品 abstract pr...