定義:專門定義一個類來建立其他類的例項,被建立的例項通常都具有共同的父類和介面。
意圖:提供一個類由它負責根據一定的條件建立某一及具體類的例項
//簡單工廠,存在不符合開閉原則的地方,可以在參考抽象工廠/工廠方法 //輸入蘋果,就可以通過工廠直接呼叫採摘蘋果,而不用new一個Apple public class factoryDemo { public static void main(String[] args) { // TODO Auto-generated method stu Factory factory = new Factory(); Fruit fruit = factory.getFruit("蘋果"); if(fruit!=null) { System.out.println(fruit.get()); } } } class Factory{ public static Fruit getFruit(String name) { if(name == "蘋果") { return new Apple(); }else if(name == "橘子") { return new Orange(); }else { return null; } } } interface Fruit{ String get(); } class Apple implements Fruit{ public String get() { return "採摘蘋果"; } } class Orange implements Fruit{ public String get() { return "採摘橘子"; } }