本文实例讲述了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基于工厂模式实现的计算器实例相关推荐

  1. java改写模式_Java基于状态模式实现的文档编辑模式切换功能实例

    本文实例讲述了Java基于状态模式实现的文档编辑模式切换功能.分享给大家供大家参考,具体如下: 一 模式定义 状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来就像是改变了其类. 二 ...

  2. Spark的安装(Standalone模式,高可用模式,基于Yarn模式)

    目录 spark的Standalone模式安装 一.安装流程 1.将spark-2.2.0-bin-hadoop2.7.tgz  上传到 /usr/local/spark/ 下,然后解压 2.进入到c ...

  3. 【Flink】FLink PipelineExecutorFactory 基于工厂模式的任务提交与SPI机制

    1.概述 转载: Flink1.10基于工厂模式的任务提交与SPI机制 Flink任务执行模式包含了yarn-session.standalone.per-job.local, 在1.10中又增加k8 ...

  4. 设计模式-策略模式,观察者模式,装饰者模式,静态工厂模式,工厂方法模式

    设计模式这个东西,永远不是单单从书本上就能获取到的东西.曾经看到一个比喻,比喻的就很巧妙,文艺复兴时期的教学方式,那时候诞生了很多巨匠,达芬奇,莫开朗基罗,拉斐尔都是在这个时期绽放光芒的巨星.有一种说 ...

  5. 021 设计模式之工厂方法模式,抽象工厂模式的区别

    简单工厂模式,工厂方法模式和抽象工厂模式的异同 简单工厂模式,工厂方法模式和抽象工厂模式都是属于创建型设计模式,这三种创建型模式都不需要知道具体类.我们掌握一种思想,就是在创建一个对象时,需要把容易发 ...

  6. 工厂三兄弟之工厂方法模式

    本文转载自 :http://blog.csdn.net/lovelion/article/details/9306457 简单工厂模式虽然简单,但存在一个很严重的问题.当系统中需要引入新产品时,由于静 ...

  7. 设计模式的征途—2.简单工厂(Simple Factory)模式

    工厂模式是最常用的一种创建型模式,通常所说的工厂模式一般是指工厂方法模式.本篇是是工厂方法模式的"小弟",我们可以将其理解为工厂方法模式的预备知识,它不属于GoF 23种设计模式, ...

  8. 设计模式 工厂方法_使用工厂方法模式设计最佳实践

    设计模式 工厂方法 在前面的"设计模式"示例中,我们解释了当今常用的"工厂"模式. 在本节中,我们将了解具有更多抽象的更高级的解决方案. 该模式称为工厂方法设计 ...

  9. getresourceasstream方法_【设计模式】第三篇:一篇搞定工厂模式【简单工厂、工厂方法模式、抽象工厂模式】...

    文章系列目录(持续更新中): [设计模式]第一篇:概述.耦合.UML.七大原则,详细分析总结(基于Java) [设计模式]第二篇:单例模式的几种实现And反射对其的破坏 一 为什么要用工厂模式 之前讲 ...

最新文章

  1. python生成随机数—random模块
  2. JDK注解(内置和自定义)
  3. unable to access ‘https://gitee...‘: Failed to connect to 127.0.0.1 port 31181 after 2029 ms: Connec
  4. yaml,json,ini这三种格式用来做配置文件优缺点
  5. python 跳过_python-pytest学习(九)-跳过用例skip
  6. hbase里面命令行删除_HBase实践 | HBase疑难杂症诊治
  7. ABP理论学习之Abp Session
  8. 论ARMv7 Thumb-2指令集的性能(含Thumb指令集介绍)【转载】
  9. Ubuntu18.04解决sudo执行慢的问题
  10. UCIPC2012-Red/Blue Spanning Tree解题报告
  11. 20200108每日一句
  12. Modelica技术教程 | 状态机教程
  13. (5)Typora——MarkDown格式文本编辑器
  14. 新站seo如何进行站内优化
  15. 传智播客C语言视频第二季 第一季基础上增加诸多C语言案例讲解,有效下载期为10 5-10 10关闭
  16. js正则表达式 part1 - Kaiqisan
  17. C++/C++11中头文件sstream介绍
  18. python爬取B站网页排行榜数据(进阶版)
  19. 教程 | 阿克曼结构移动机器人的gazebo仿真(二)
  20. matlab 一元方程程序,用牛顿方法解一元非线性方程的根(Matlab实现)

热门文章

  1. Acwing第 21 场周赛【完结】
  2. YAML 在Python中的配置应用
  3. Tomcat在自定义xml文件中配置虚拟目录
  4. pandas教程:pandas主要功能详解
  5. java基础提升篇:synchronized同步块和volatile同步变量
  6. Java8 ConcurrentHashMap详解
  7. 蓝桥杯-操作格子(java)
  8. 一天搞定HTML----a标签02
  9. Java常用类之String类、Stringbuffer和Random类练习
  10. C++Primer Plus (第六版)阅读笔记 + 源码分析【第四章:复合类型】