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);
}
}

posted @ 2019-05-07 09:45  黑白配  阅读(117)  评论(0编辑  收藏  举报