是類的創建模式工廠模式的幾種形 " /> 国产网站免费观看,欧美精品九九99久久在观看,美女大鸡鸡

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php設計模式之簡單工廠模式詳解

本文以實例形式較為詳細的介紹了php設計模式的簡單工廠模式,對于進行php程序設計來說有很好的借鑒作用。具體如下:

一、概念

簡單工廠模式 【靜態工廠方法模式】(Static Factory Method)
是類的創建模式

工廠模式的幾種形態:

1、簡單工廠模式(Simple Factory)又叫做 靜態工廠方法模式(Static Factory Method)

2、工廠方法模式(Factory Method)又叫做 多態性工廠模式(Polymorphic Factory)

3、抽象工廠模式(Abstract Factory)又叫做 工具箱模式(ToolKit)

二、配圖分析:

三、代碼實例

該實例代碼經過測試可以運行,具體如下:

<?php/** * 一個事例 * * 一個農場,要向市場銷售水果 * 農場里有三種水果 蘋果、葡萄 * 我們設想:1、水果有多種屬性,每個屬性都有不同,但是,他們有共同的地方 | 生長、種植、收貨、吃 *       2、將來有可能會增加新的水果、我們需要定義一個接口來規范他們必須實現的方法 *       3、我們需要獲取某個水果的類,要從農場主那里去獲取某個水果的實例,來知道如何生長、種植、收貨、吃 *//** * 虛擬產品接口類 * 定義好需要實現的方法 */interface fruit{  /**   * 生長   */  public function grow();  /**   * 種植   */  public function plant();  /**   * 收獲   */  public function harvest();  /**   * 吃   */  public function eat();  }/** * 定義具體產品類 蘋果 * 首先,我們要實現所繼承的接口所定義的方法 * 然后定義蘋果所特有的屬性,以及方法 */class apple implements fruit{  //蘋果樹有年齡  private $treeAge;  //蘋果有顏色  private $color;  public function grow(){    echo "grape grow";  }  public function plant(){    echo "grape plant";  }  public function harvest(){    echo "grape harvest";  }  public function eat(){    echo "grape eat";  }  //取蘋果樹的年齡  public function getTreeAge(){    return $this->treeAge;  }  //設置蘋果樹的年齡  public function setTreeAge($age){    $this->treeAge = $age;    return trie;  }}/** * 定義具體產品類 葡萄 * 首先,我們要實現所繼承的接口所定義的方法 * 然后定義葡萄所特有的屬性,以及方法 */class grape implements fruit{  //葡萄是否有籽  private $seedLess;  public function grow(){    echo "apple grow";  }  public function plant(){    echo "apple plant";  }  public function harvest(){    echo "apple harvest";  }  public function eat(){    echo "apple eat";  }  //有無籽取值  public function getSeedLess(){    return $this->seedLess;  }  //設置有籽無籽  public function setSeedLess($seed){    $this->seedLess = $seed;    return true;  }}/** *農場主類 用來獲取實例化的水果 * */class farmer{  //定義個靜態工廠方法  public static function factory($fruitName){    switch ($fruitName) {      case 'apple':        return new apple();        break;      case 'grape':        return new grape();        break;      default:        throw new badFruitException("Error no the fruit", 1);        break;    }  }}class badFruitException extends Exception{  public $msg;  public $errType;  public function __construct($msg = '' , $errType = 1){    $this->msg = $msg;    $this->errType = $errType;  }  }/** * 獲取水果實例化的方法 */try{  $appleInstance = farmer::factory('apple');  var_dump($appleInstance);}catch(badFruitException $err){  echo $err->msg . "_______" . $err->errType;}

希望本文所述實例對大家php程序設計有所幫助。

php技術php設計模式之簡單工廠模式詳解,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 曼谷av女郎 | 寂寞夜晚看免费视频 | 亚洲国产精品久久精品成人网站 | 无人区乱码1区2区3区网站 | 亚洲综合色婷婷在线影院 | 果冻传媒APP免费网站在线观看 | 精品香蕉99久久久久网站 | 中文字幕不卡一区二区三区 | 免费毛片视频网站 | 国内精品乱码卡一卡2卡三卡 | 午夜亚洲WWW湿好爽 午夜亚洲WWW湿好大 | 男人的天堂色 | 一本之道高清视频在线观看 | 肉动漫h黄动漫日本免费观看 | 奶头从情趣内衣下露了出来AV | 国产亚洲精品视频在线网 | 忘忧草研究院一二三 | 3a丝袜论坛| 好大好爽CAO死我了BL | 驯服有夫之妇HD中字日本 | 久久国产免费观看精品1 | 久久久久久人精品免费费看 | 琪琪电影午夜理论片YY6080 | 乳巨揉みま痴汉电车中文字幕动漫 | 男男肉肉互插腐文 | 国产一级做a爰片久久毛片男 | 国产在线精彩视频 | 古代又黄又肉到湿的爽文 | 色中色最新地址登陆 | 十分钟免费视频大全在线观看 | 么公一夜要了我一八次视频HD | 久久久GOGO无码啪啪艺术 | 翁止熄痒禁伦短文合集免费视频 | FREECHINESE东北群交 | 日产2021免费一二三四区在线 | 男生在床上脱美女 胸 | 解开白丝老师的短裙猛烈进入 | 果冻传媒MV免费播放在线观看 | 亚洲色欲国产AV精品综合 | 羞羞答答影院在线 | 特黄特色大片免费播放器试看 |