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 相关文章推荐
ADODB的数据库封包程序库
Dec 31 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
并发下常见的加锁及锁的PHP具体实现代码
Oct 12 PHP
使用php实现快钱支付功能(涉及到接口)
Jul 01 PHP
php绘制一个扇形的方法
Jan 24 PHP
PHP连接操作access数据库实例
Mar 30 PHP
PHP的关于变量和日期处理的一些面试题目整理
Aug 10 PHP
简述php环境搭建与配置
Dec 05 PHP
laravel框架实现去掉URL中index.php的方法
Oct 12 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 PHP
php+mysql实现的无限分类方法类定义与使用示例
May 27 PHP
PHP执行普通shell命令流程解析
Aug 24 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
PHP+MYSQL的文章管理系统(一)
2006/10/09 PHP
PHP调用三种数据库的方法(1)
2006/10/09 PHP
PHP导航下拉菜单的实现如此简单
2013/09/22 PHP
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
2020/04/07 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
JavaScript 指导方针
2007/04/05 Javascript
js下用层来实现select的title提示属性
2010/02/23 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
node.js爬取中关村的在线电瓶车信息
2018/11/13 Javascript
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
vue浏览器返回监听的具体步骤
2021/02/03 Vue.js
[47:45]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第一场 2月26日
2021/03/11 DOTA
python实现电子词典
2020/04/23 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
对python调用RPC接口的实例详解
2019/01/03 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
python3中for循环踩过的坑记录
2020/12/14 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
Gap中国官网:美式休闲风服饰
2017/02/05 全球购物
婴儿地球:Baby Earth
2018/12/25 全球购物
党支部三会一课计划
2014/09/24 职场文书
投标售后服务承诺书
2015/04/29 职场文书
PostgreSQL将数据加载到buffer cache中操作方法
2021/04/16 PostgreSQL
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js
python数字图像处理:图像的绘制
2022/06/28 Python