亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語(yǔ)言

java工廠的方法是什么

時(shí)間:2024-10-31 16:20:24 java語(yǔ)言 我要投稿
  • 相關(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)!

java工廠的方法是什么

  工廠方法概述

  工廠方法模式中抽象工廠類負(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