码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-11-06 22:36:47      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:cas   class   程序   维护   学习   turn   支持   get   result   

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

生产类

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

 

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

标签:cas   class   程序   维护   学习   turn   支持   get   result   

原文地址:http://www.cnblogs.com/huanhang/p/6036530.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!