當前位置:才華齋>計算機>java語言>

java工廠的方法是什麼

java語言 閱讀(1.85W)

建立新物件最簡單的辦法是使用new關鍵字和具體類。只有在某些場合下,建立和維護物件工廠所帶來的額外複雜性才是物有所值。以下是小編為大家搜尋整理java工廠的方法是什麼,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

java工廠的方法是什麼

  工廠方法概述

工廠方法模式中抽象工廠類負責定義建立物件的介面,具體物件的建立工作由繼承抽象工廠的具體類實現。

優點

客戶端不需要在負責物件的建立,從而明確了各個類的職責,如果有新的物件增加,只需要增加一個具體的.類和具體的工廠類即可,不影響已有的程式碼,後期維護容易,增強了系統的擴充套件性

缺點

需要額外的編寫程式碼,增加子工作量

class IntegerDemo { public static void main(String[] args) { Factory factory = new DogFactory(); Animal animal = teAnimal(); (); factory = new CatFactory(); animal = teAnimal(); (); }}abstract class Animal {// 抽象類 public abstract void eat();}class Dog extends Animal {// 狗 public void eat() { tln("a dog is eatting."); }}class Cat extends Animal {// 貓 public void eat() { tln("a cat is eatting."); }}interface Factory {// 介面 public abstract Animal createAnimal();}class DogFactory implements Factory {// 實現介面 public Animal createAnimal() { return new Dog(); }}class CatFactory implements Factory {// 實現介面 public Animal createAnimal() { return new Cat(); }}

工廠方法概述

工廠方法模式中抽象工廠類負責定義建立物件的介面,具體物件的建立工作由繼承抽象工廠的具體類實現。

優點

客戶端不需要在負責物件的建立,從而明確了各個類的職責,如果有新的物件增加,只需要增加一個具體的類和具體的工廠類即可,不影響已有的程式碼,後期維護容易,增強了系統的擴充套件性

缺點

需要額外的編寫程式碼,增加子工作量

public class IntegerDemo { public static void main(String[] args) { Factory factory = new DogFactory(); Animal animal = teAnimal(); (); factory = new CatFactory(); animal = teAnimal(); (); }}abstract class Animal {// 抽象類 public abstract void eat();}class Dog extends Animal {// 狗 public void eat() { tln("a dog is eatting."); }}class Cat extends Animal {// 貓 public void eat() { tln("a cat is eatting."); }}interface Factory {// 介面 public abstract Animal createAnimal();}class DogFactory implements Factory {// 實現介面 public Animal createAnimal() { return new Dog(); }}class CatFactory implements Factory {// 實現介面 public Animal createAnimal() { return new Cat(); }}