php实现简单工厂模式
admin
2023-07-01 09:44:32
0次

简单工厂模式,又称为静态工厂模式,在其工厂类中通过一个公有的静态方法返回每个类的实例。

代码:

//家禽接口

interface fowl

{

  public function eat(){};

  public function breed(){};

}


//母鸡类

class hen implements fowl 

{

 public function eat()

 {

   echo "我是鸡,我吃稻子和虫子!";

 }


 public function breed()

 {

   echo "我会生鸡蛋,咯咯蛋!";

 }

}


//鸭子类

class duck implements fowl

{

 public function eat()

 {

   echo "我是鸭子,我要吃鱼!";

 }


 public function breed()

 {

   echo "我会生鸭蛋,嘎嘎嘎!";

 }

}


class nofowlException extends Exception

{

  public $msg;

  public $errType;


  public function __construct($msg='',$errType=0)

  {

    $this->msg=$msg;

    $this->errType=$errType;

  }

}


//饲养员

class breeder 

{

  public static function factory($fowl)

  {

    switch($fowl)

    {

      case 'hen':

      return new hen();

      break;


      case 'duck':

      return new duck();

      break;


     default:

     throws new nofowlException('对不起我们暂时还没有养这种家禽');

     break;

    }

  }

}


//主程序

$hen=breeder::factory('hen');

$hen->eat();//输出我是鸡,我吃稻子和虫子!"

$hen->breed();//输出我会生鸡蛋,咯咯蛋!

$duck=breeder::factory('duck');

$duck->eat();//我是鸭子,我要吃鱼!

$duck->breed();//我会生鸭蛋,嘎嘎嘎!

$goose->breeder::factory('goose');//输出对不起我们暂时还没有养这种家禽

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...