PHP基于工厂模式实现的计算器实例

yipeiwu_com7年前PHP代码库

本文实例讲述了PHP基于工厂模式实现的计算器。分享给大家供大家参考。具体如下:

abstract class Calculator
{
 private $number1;
 private $number2;
 public $result;
 /**
  * @return the $number2
  */
 public function getNumber2() {
  return $this->number2;
 }
 /**
  * @param field_type $number2
  */
 public function setNumber2($number2) {
  $this->number2 = $number2;
 }
 /**
  * @return the $number1
  */
 public function getNumber1() {
  return $this->number1;
 }
 /**
  * @param field_type $number1
  */
 public function setNumber1($number1) {
  $this->number1 = $number1;
 }
 abstract function get_result();
 }
class Add extends Calculator
{
  public function get_result($number1,$number2)
  {
   return $number1+$number2;
  }
}
class Sub extends Calculator
{
  public function get_result($number1,$number2)
  {
   return $number1-$number2;
  }
}
class Mul extends Calculator
{
  public function get_result($number1,$number2)
  {
   return $number1*$number2;
  }
}
class Div extends Calculator
{
  public function get_result($number1,$number2)
  {
   return $number1/$number2;
  }
}
class Factory
{
  public function Building($notes)
  {
   if($notes=="+")
   {
    $add=new Add();
    return $add;
   }
   elseif ($notes=="-")
   {
    $sub=new Sub();
    return $sub;
   }
   elseif($notes=="*")
   {
    $mul=new Mul();
    return $mul;
   }
   else
   {
    $div=new Div();
    return $div;
   }
  }
}

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP之生成GIF动画的实现方法

代码如下所示:复制代码 代码如下:<?class GifMerge {     var $ver    &nb...

PHP下利用header()函数设置浏览器缓存的代码

这涉及到4种头标类型: Last-Modified(最后修改时间); Expires(有效期限); Pragma(编译指示); Cache-Control(缓存控制);   前三个头标属...

利用PHP自动生成印有用户信息的名片

利用PHP自动生成印有用户信息的名片

前言 无论是自己要在精心P过的自拍上添加个性文字,或者是摄影爱好者要在拍摄的作品里添加水印,亦或是在网页或者移动应用中实时生成文字和图片的组合,我们都需要找到一个合适且靠谱的方法来将图片...

让Json更懂中文(JSON_UNESCAPED_UNICODE)

复制代码 代码如下: <?php echo json_encode("中文"); //"\u4e2d\u6587" 这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得...

php 处理上百万条的数据库如何提高处理查询速度

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致...