博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
工厂方法模式
阅读量:7218 次
发布时间:2019-06-29

本文共 1530 字,大约阅读时间需要 5 分钟。

工厂方法模式

  • 没有做反射类检测

$name; } public function __set($name, $value) { $this->$name = $value; } public function getResult() { return 0; }}class OperationAdd extends Operation{ public function getResult() { return $this->_num1 + $this->_num2; } }class OperationSub extends Operation{ public function getResult() { return $this->_num1 - $this->_num2; }}class OperationMul extends Operation{ public function getResult() { return $this->_num1 * $this->_num2; }}class OperationDiv extends Operation{ public function getResult() { if (empty($this->_num2)) { throw new Exception("除数不能为0", 1); } return $this->_num1 / $this->_num2; }}// ********** 工厂接口 - 类 ********** //Interface IFactory{ public function CreateOperation();}class AddFacroty implements IFactory{ public function CreateOperation() { return new OperationAdd(); }}class SubFactory implements IFactory{ public function CreateOperation() { return new OperationSub(); }}class MulFactory implements IFactory{ public function CreateOperation() { return new OperationMul(); }}class DivFactory implements IFactory{ public function CreateOperation() { return new OperationDiv(); }}// clienttry { //工厂方法 $f = new AddFacroty(); $o = $f->CreateOperation(); $o->_num1 = 10; $o->_num2 = 2; print_r($o->getResult());} catch (Exception $e) { echo $e->getMessage();}

转载地址:http://poxym.baihongyu.com/

你可能感兴趣的文章
Win10還原成最乾淨的狀態
查看>>
Java_InvokeAll_又返回值_多个线程同时执行,取消超时线程
查看>>
SaltStack作业
查看>>
单例设计
查看>>
springboot+缓存
查看>>
/*10个filter的属性*/ ---毛玻璃效果
查看>>
折半查找习题解答
查看>>
51单片机的P1
查看>>
[32]JSON
查看>>
3689: 异或之
查看>>
字符串模式匹配KMP算法
查看>>
Android Drawable和Bitmap图片之间转换
查看>>
Debian 8 安装 Nvidia 显卡驱动
查看>>
nginx静态文件访问
查看>>
SharePoint 2013中的默认爬网文件扩展名和分析文件类型
查看>>
c#-冒泡排序-算法
查看>>
IP釋放、清除、以及刷新DNS
查看>>
第二次作业
查看>>
小知识
查看>>
安装Vmware时竟然也会报错,错误信息见图
查看>>