简单工厂模式
来源:互联网 发布:数据采集器厂家 编辑:程序博客网 时间:2024/05/16 19:55
<?php/** * 简单工厂模式 */Interface IOperation{ /** * @return int */ public function getResult();}class Operation{ private $num1 = 0; private $num2 = 0; /** * @return int */ public function getNum1(){ return $this->num1; } /** * @param int $num1 */ public function setNum1($num1){ $this->num1 = $num1; } /** * @return int */ public function getNum2(){ return $this->num2; } /** * @param int $num2 */ public function setNum2($num2){ $this->num2 = $num2; }}class OperationAdd extends Operation implements IOperation{ /** * @return int */ public function getResult(){ // TODO: Implement getResult() method. return ($this->getNum1() + $this->getNum2()); }}class OperationSub extends Operation implements IOperation{ /** * @return int */ public function getResult(){ // TODO: Implement getResult() method. return ($this->getNum1() - $this->getNum2()); }}class OperationMul extends Operation implements IOperation{ /** * @return int */ public function getResult(){ // TODO: Implement getResult() method. return ($this->getNum1() * $this->getNum2()); }}class OperationDiv extends Operation implements IOperation{ /** * @return int */ public function getResult(){ // TODO: Implement getResult() method. return ($this->getNum1() / $this->getNum2()); }}class OperationFactory{ public static function createOperation($operationStr){ $operation = null; switch($operationStr){ default: case '+': $operation = new OperationAdd(); break; case '-': $operation = new OperationSub(); break; case '*': $operation = new OperationMul(); break; case '/': $operation = new OperationDiv(); break; } return $operation; }}$operation = OperationFactory::createOperation('*');$operation->setNum1(11);$operation->setNum2(12);echo $operation->getResult();
0 0
- 工厂模式-简单工厂
- 工厂模式-简单工厂
- 工厂模式-简单工厂模式
- 工厂模式-简单工厂模式
- 简单工厂模式,工厂模式
- 工厂模式-简单工厂模式
- 简单工厂模式,工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂&工厂模式&抽象工厂模式
- 简单工厂和工厂模式
- 简单工厂和工厂模式
- 1,工厂模式--简单工厂
- 简单工厂和工厂模式
- 简单工厂,工厂模式,抽象工厂
- 简单工厂,工厂模式,抽象工厂
- 简单工厂、工厂方法、抽象工厂模式
- 简单工厂、工厂模式和抽象工厂
- 2016-浙江理工新生赛-部分题解
- Git自动化部署
- 函数调用栈帧结构
- yii 2.0 常用表单(yii\widgets\ActiveField)
- 数组和指针的一个例子
- 简单工厂模式
- JDBC
- Android 中非UI线程真的不能更新UI吗?
- 神经网络ANN分类器及OpenCV实现
- ThinkPHP刘晨:大道至简,只用产品说话
- 随机蛮好玩的
- 【PHP】日期时间戳转换
- 网易邮箱开发最简单demo
- 3、设计模式__创建型__抽象工厂