【简单的工厂模式】一个简单的计算器

对于一个对设计模式一无所知的程序员来说,维护成本,无疑是一个致命的问题,所以从今开始,我要开始努力学习,设计模式,在这里,记录自己的学习成果

生产类

  1. abstract class Oper 抽象类
  2. class Add 加
  3. class Sub 减
  4. class Mul 乘
  5. class Div 除
  6. class Operate 计算

 

abstract class Oper {
    public $num1 = 0;
    public $num2 = 0;

    abstract public function getResult();

}
class Add extends Oper {

    public function getResult(){
        $result = $this->num1 +$this->num2;
        return $result;
    }
}

class Div extends Oper {

    public function getResult(){
        if($this->num2==0){
            throw_exception('分母不能为零');
        }
        $result = $this->num1 /$this->num2;
        return $result;
    }

}

 

class Operate {

    public function oper($operate){
        switch ($operate){
            case '+':
                return new Add();
                break;
            case '-':
                return new Sub();
                break;
            case '*':
                return new Mul();
                break;
            case '/':
                return new Div();
                break;
            default:
                throw_exception('符号不支持');
                break;
        }
    }
}

 

转载于:https://www.cnblogs.com/huanhang/p/6036530.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值