欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA簡(jiǎn)單工廠模式(從現(xiàn)實(shí)生活角度理解代碼原理)

 更新時(shí)間:2017年03月14日 11:06:09   作者:潘侯爺  
本文主要介紹了JAVA簡(jiǎn)單工廠模式(從現(xiàn)實(shí)生活角度理解代碼原理)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧

簡(jiǎn)單工廠模式(Simple Factory),說(shuō)他簡(jiǎn)單是因?yàn)槲覀兛梢詫⒋四J奖茸饕粋€(gè)簡(jiǎn)單的民間作坊,他們只有固定的生產(chǎn)線生產(chǎn)固定的產(chǎn)品。也可以稱他為靜態(tài)工廠設(shè)計(jì)模式,類似于之前提到過(guò)靜態(tài)代理設(shè)計(jì)模式,一條生產(chǎn)線生產(chǎn)一種產(chǎn)品(一個(gè)代理代理一種業(yè)務(wù)),為了方便大家理解,我們將KFC比作一個(gè)簡(jiǎn)單的工廠,實(shí)現(xiàn)代碼如下:

//建造接口(或者抽象類)提供食物生產(chǎn)方法
interface Food{
  public abstract void get();
}
//漢堡類(后廚生產(chǎn)線)來(lái)實(shí)現(xiàn)食物生產(chǎn)方法
class Hamburger implements Food{
  public void get(){
    System.out.println("漢堡來(lái)了");
  }
}
//炸雞類(后廚生產(chǎn)線)來(lái)實(shí)現(xiàn)食物生產(chǎn)方法
class Chicken implements Food{
  public void get(){
    System.out.println("炸雞來(lái)了");
  }
}
//KFC(靜態(tài)工廠類)
class KFC{
  //提供獲取食物的方法(傳入的參數(shù)name為食客所點(diǎn)食物)
  public static Food getFood(String name){
    /*如果所點(diǎn)食物是炸雞/漢堡(見(jiàn)名知義)
     *則實(shí)例化該生產(chǎn)線(通知對(duì)應(yīng)后廚生產(chǎn)線)
     */
    if(name.equals("炸雞")){
      return new Chicken();
    }
    if(name.equals("漢堡")){
      return new Hamburger();
    }
    return null;
  }
}
//測(cè)試類
public class Test{
  public static void main(String[] args){
    KFC kfc = new KFC();//實(shí)例化KFC
    Food m = kfc.getFood("炸雞");
    Food n = kfc.getFood("hanbao");//輸入的字符串不符合工廠類對(duì)應(yīng)值
    try{
      m.get();
      n.get();
     //添加異常處理(如果沒(méi)有對(duì)應(yīng)生產(chǎn)線則提示異常處理結(jié)果)
    }catch(NullPointerException e){
      System.out.print("沒(méi)有你要的食物");
    }
  }
}

輸出結(jié)果:

1 炸雞來(lái)了 2 沒(méi)有你要的食物

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

最新評(píng)論