php简单策略设计模式
<?php
/**
* 策略模式
* @author 桃谷六仙
*
*/
interface Math{
public function calc($op1,$op2);
}
class MathAdd implements Math{
public function calc($op1, $op2){
return $op1+$op2;
}
}
class MathSub implements Math{
public function calc($op1, $op2){
return $op1-$op2;
}
}
class MathMul implements Math{
public function calc($op1, $op2){
return $op1*$op2;
}
}
class MathDiv implements Math{
public function calc($op1, $op2){
return $op1/$op2;
}
}
class computer{
private $math=null;
public function __construct($math){
$mathclass='Math'.$math;
$this->math=new $mathclass();
}
public function getResult($op1,$op2){
return $this->math->calc($op1,$op2);
}
}