亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

輸出結(jié)果:

1 炸雞來了 2 沒有你要的食物

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

相關(guān)文章

最新評論