<?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());
原文:https://www.cnblogs.com/wangfenphph2/p/9261192.html