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


Posted in PHP onJuly 16, 2015

本文实例讲述了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 相关文章推荐
用PHP 快速生成 Flash 动画的方法
Mar 06 PHP
如何在PHP程序中防止盗链
Apr 09 PHP
header跳转和include包含问题详解
Sep 08 PHP
mcrypt启用 加密以及解密过程详细解析
Aug 07 PHP
yii框架builder、update、delete使用方法
Apr 30 PHP
PHP-FPM实现性能优化
Mar 31 PHP
Adnroid 微信内置浏览器清除缓存
Jul 11 PHP
PHP面向对象程序设计方法实例详解
Dec 24 PHP
WAF的正确bypass
Jan 05 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 PHP
PHP实现微信提现功能(微信商城)
Nov 21 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
Aug 11 PHP
CodeIgniter与PHP5.6的兼容问题
Jul 16 #PHP
PHP实现上传文件并存进数据库的方法
Jul 16 #PHP
PHP实现通过get方式识别用户发送邮件的方法
Jul 16 #PHP
php项目中百度 UEditor 简单安装调试和调用
Jul 15 #PHP
PHP开发Apache服务器配置
Jul 15 #PHP
ajax+php控制所有后台函数调用
Jul 15 #PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
Jul 15 #PHP
You might like
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
php实现查看邮件是否已被阅读的方法
2013/12/03 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
ashx文件获取$.ajax()方法发送的数据
2016/05/26 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
微信小程序页面开发注意事项整理
2017/05/18 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
Django Highcharts制作图表
2016/08/27 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
HTML5中FileReader接口使用方法实例详解
2017/08/26 HTML / CSS
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
Java基础知识面试题
2014/03/25 面试题
室内设计实习自我鉴定
2013/09/25 职场文书
财务会计专业推荐信
2013/11/30 职场文书
公司表扬稿范文
2015/05/05 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
python爬取豆瓣电影TOP250数据
2021/05/23 Python
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技