php实现工厂模式,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实现工厂模式,PHP基于工厂模式实现的计算器实例相关推荐
- java改写模式_Java基于状态模式实现的文档编辑模式切换功能实例
本文实例讲述了Java基于状态模式实现的文档编辑模式切换功能.分享给大家供大家参考,具体如下: 一 模式定义 状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来就像是改变了其类. 二 ...
- Spark的安装(Standalone模式,高可用模式,基于Yarn模式)
目录 spark的Standalone模式安装 一.安装流程 1.将spark-2.2.0-bin-hadoop2.7.tgz 上传到 /usr/local/spark/ 下,然后解压 2.进入到c ...
- 【Flink】FLink PipelineExecutorFactory 基于工厂模式的任务提交与SPI机制
1.概述 转载: Flink1.10基于工厂模式的任务提交与SPI机制 Flink任务执行模式包含了yarn-session.standalone.per-job.local, 在1.10中又增加k8 ...
- 设计模式-策略模式,观察者模式,装饰者模式,静态工厂模式,工厂方法模式
设计模式这个东西,永远不是单单从书本上就能获取到的东西.曾经看到一个比喻,比喻的就很巧妙,文艺复兴时期的教学方式,那时候诞生了很多巨匠,达芬奇,莫开朗基罗,拉斐尔都是在这个时期绽放光芒的巨星.有一种说 ...
- 021 设计模式之工厂方法模式,抽象工厂模式的区别
简单工厂模式,工厂方法模式和抽象工厂模式的异同 简单工厂模式,工厂方法模式和抽象工厂模式都是属于创建型设计模式,这三种创建型模式都不需要知道具体类.我们掌握一种思想,就是在创建一个对象时,需要把容易发 ...
- 工厂三兄弟之工厂方法模式
本文转载自 :http://blog.csdn.net/lovelion/article/details/9306457 简单工厂模式虽然简单,但存在一个很严重的问题.当系统中需要引入新产品时,由于静 ...
- 设计模式的征途—2.简单工厂(Simple Factory)模式
工厂模式是最常用的一种创建型模式,通常所说的工厂模式一般是指工厂方法模式.本篇是是工厂方法模式的"小弟",我们可以将其理解为工厂方法模式的预备知识,它不属于GoF 23种设计模式, ...
- 设计模式 工厂方法_使用工厂方法模式设计最佳实践
设计模式 工厂方法 在前面的"设计模式"示例中,我们解释了当今常用的"工厂"模式. 在本节中,我们将了解具有更多抽象的更高级的解决方案. 该模式称为工厂方法设计 ...
- getresourceasstream方法_【设计模式】第三篇:一篇搞定工厂模式【简单工厂、工厂方法模式、抽象工厂模式】...
文章系列目录(持续更新中): [设计模式]第一篇:概述.耦合.UML.七大原则,详细分析总结(基于Java) [设计模式]第二篇:单例模式的几种实现And反射对其的破坏 一 为什么要用工厂模式 之前讲 ...
最新文章
- python生成随机数—random模块
- JDK注解(内置和自定义)
- unable to access ‘https://gitee...‘: Failed to connect to 127.0.0.1 port 31181 after 2029 ms: Connec
- yaml,json,ini这三种格式用来做配置文件优缺点
- python 跳过_python-pytest学习(九)-跳过用例skip
- hbase里面命令行删除_HBase实践 | HBase疑难杂症诊治
- ABP理论学习之Abp Session
- 论ARMv7 Thumb-2指令集的性能(含Thumb指令集介绍)【转载】
- Ubuntu18.04解决sudo执行慢的问题
- UCIPC2012-Red/Blue Spanning Tree解题报告
- 20200108每日一句
- Modelica技术教程 | 状态机教程
- (5)Typora——MarkDown格式文本编辑器
- 新站seo如何进行站内优化
- 传智播客C语言视频第二季 第一季基础上增加诸多C语言案例讲解,有效下载期为10 5-10 10关闭
- js正则表达式 part1 - Kaiqisan
- C++/C++11中头文件sstream介绍
- python爬取B站网页排行榜数据(进阶版)
- 教程 | 阿克曼结构移动机器人的gazebo仿真(二)
- matlab 一元方程程序,用牛顿方法解一元非线性方程的根(Matlab实现)