码迷,mamicode.com
首页 > 其他好文 > 详细

工厂模式

时间:2018-07-04 01:02:02      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:public   get   har   ase   type   对象   方法   商品   highlight   

<?php
//工厂模式;
header("content-type:text/html;charset=utf-8");
//抽象类用来定义方法名;
abstract   class  Product{
	abstract  public  function  getName();
}

//商品类;
class  ProductA   extends   Product{
	 public   function   getName(){
	 	 echo   "这是a商品";
	 }
}

class  ProductB   extends   Product{
	 public   function  getName(){
	 	 echo   "这是b商品";
	 }
}



//工厂类
class   Factory{
  //传递不同的参数,获取不同的对象;
  public   static  function   create($num){
           switch($num){
           	   case  1:
           	   return  new  ProductA;
           	   case  2:
           	   return  new  ProductB;
           	   Default:
           	   return  null;
           }
     }

}
//测试
$objA=Factory::create(1);//传递不同的参数获取不同的对象;
$objB=Factory::create(2);
var_dump($objA->getName(),$objB->getName());

  

工厂模式

标签:public   get   har   ase   type   对象   方法   商品   highlight   

原文地址:https://www.cnblogs.com/wangfenphph2/p/9261192.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!