java工廠的方法是什么
創建新對象最簡單的辦法是使用new關鍵字和具體類。只有在某些場合下,創建和維護對象工廠所帶來的額外復雜性才是物有所值。以下是小編為大家搜索整理java工廠的方法是什么,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!
工廠方法概述
工廠方法模式中抽象工廠類負責定義創建對象的接口,具體對象的創建工作由繼承抽象工廠的具體類實現。
優點
客戶端不需要在負責對象的創建,從而明確了各個類的職責,如果有新的對象增加,只需要增加一個具體的類和具體的工廠類即可,不影響已有的代碼,后期維護容易,增強了系統的擴展性
缺點
需要額外的編寫代碼,增加子工作量
class IntegerDemo { public static void main(String[] args) { Factory factory = new DogFactory(); Animal animal = factory.createAnimal(); animal.eat(); factory = new CatFactory(); animal = factory.createAnimal(); animal.eat(); }}abstract class Animal {// 抽象類 public abstract void eat();}class Dog extends Animal {// 狗 public void eat() { System.out.println("a dog is eatting."); }}class Cat extends Animal {// 貓 public void eat() { System.out.println("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 = factory.createAnimal(); animal.eat(); factory = new CatFactory(); animal = factory.createAnimal(); animal.eat(); }}abstract class Animal {// 抽象類 public abstract void eat();}class Dog extends Animal {// 狗 public void eat() { System.out.println("a dog is eatting."); }}class Cat extends Animal {// 貓 public void eat() { System.out.println("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(); }}
【java工廠的方法是什么】相關文章:
1.關于java工廠的方法是什么
2.java方法重寫的方法分析
3.用java重載的方法
4.java調用的幾個方法
5.java的常見排序方法
6.Java讀取郵件的方法
7.編程java繼承是什么
8.Java語言優勢是什么
9.java程序運行方法