- 相關(guān)推薦
java工廠的方法是什么
創(chuàng)建新對(duì)象最簡(jiǎn)單的辦法是使用new關(guān)鍵字和具體類。只有在某些場(chǎng)合下,創(chuàng)建和維護(hù)對(duì)象工廠所帶來(lái)的額外復(fù)雜性才是物有所值。以下是小編為大家搜索整理java工廠的方法是什么,希望能給大家?guī)?lái)幫助!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
工廠方法概述
工廠方法模式中抽象工廠類負(fù)責(zé)定義創(chuàng)建對(duì)象的接口,具體對(duì)象的創(chuàng)建工作由繼承抽象工廠的具體類實(shí)現(xiàn)。
優(yōu)點(diǎn)
客戶端不需要在負(fù)責(zé)對(duì)象的創(chuàng)建,從而明確了各個(gè)類的職責(zé),如果有新的對(duì)象增加,只需要增加一個(gè)具體的類和具體的工廠類即可,不影響已有的代碼,后期維護(hù)容易,增強(qiáng)了系統(tǒng)的擴(kuò)展性
缺點(diǎn)
需要額外的編寫代碼,增加子工作量
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 {// 實(shí)現(xiàn)接口 public Animal createAnimal() { return new Dog(); }}class CatFactory implements Factory {// 實(shí)現(xiàn)接口 public Animal createAnimal() { return new Cat(); }}
工廠方法概述
工廠方法模式中抽象工廠類負(fù)責(zé)定義創(chuàng)建對(duì)象的接口,具體對(duì)象的創(chuàng)建工作由繼承抽象工廠的具體類實(shí)現(xiàn)。
優(yōu)點(diǎn)
客戶端不需要在負(fù)責(zé)對(duì)象的創(chuàng)建,從而明確了各個(gè)類的職責(zé),如果有新的對(duì)象增加,只需要增加一個(gè)具體的類和具體的工廠類即可,不影響已有的代碼,后期維護(hù)容易,增強(qiáng)了系統(tǒng)的擴(kuò)展性
缺點(diǎn)
需要額外的編寫代碼,增加子工作量
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 {// 實(shí)現(xiàn)接口 public Animal createAnimal() { return new Dog(); }}class CatFactory implements Factory {// 實(shí)現(xiàn)接口 public Animal createAnimal() { return new Cat(); }}
【java工廠的方法是什么】相關(guān)文章:
Java是什么07-03
java泛型方法10-22
java文檔注釋的方法08-22
java顯示圖片的方法09-26
java的常見(jiàn)排序方法08-31
java語(yǔ)言優(yōu)點(diǎn)是什么07-14
java類文件是什么10-31
java數(shù)組賦值是什么10-20
使用Java的枚舉類型的方法10-19
java parseInt解釋加方法08-08