工廠模式,工廠類就是用來生成特定的對象類,然後用特定的對象類來處理特殊的業務需求。
<?php
/**
* 操作類
*/
abstract class operation{
public $numA = 0;
public $numB = 0;
public function setVal($a, $b){
$this->numA = $a;
$this->numB = $b;
}
abstract public function getResult();
}
/**
* 具體實現類
*/
class operationAdd extends operation{
public function getResult(){
return $this->numA + $this->numB;
}
}
class operationSub extends operation{
public function getResult(){
return $this->numA - $this->numB;
}
}
/**
* 簡單工廠類
*/
class operationFactory{
public static function createOperation($operate){
switch($operate){
case 'add':
$operationObj = new operationAdd();
break;
case 'sub':
$operationObj = new operationSub();
break;
}
return $operationObj;
}
}
$a = 10;
$b = 5;
$operation = operationFactory::createOperation('add');
$operation->setVal($a, $b);
$result = $operation->getResult();
echo $result;