六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 48|回复: 0

PHP中“简单工厂模式”实例讲解

[复制链接]

升级  11.75%

405

主题

405

主题

405

主题

探花

Rank: 6Rank: 6

积分
1235
 楼主| 发表于 2013-1-1 22:16:39 | 显示全部楼层 |阅读模式
<div id="cnblogs_post_body">原创文章,转载请注明出处:http://www.cnblogs.com/hongfei/archive/2012/07/07/2580776.html
简单工厂模式:
①抽象基类:类中定义抽象一些方法,用以在子类中实现
②继承自抽象基类的子类:实现基类中的抽象方法
③工厂类:用以实例化对象
看完文章再回头来看下这张图,效果会比较好

<div class="cnblogs_code"> 1 采用封装方式 2 3 <?php 4     class Calc{ 5         /** 6          * 计算结果 7          * 8          * @param int|float $num1 9          * @param int|float $num210          * @param string $operator11          * @return int|float12          */13         public function calculate($num1,$num2,$operator){14             try {15                 $result=0;16                 switch ($operator){17                     case '+':18                         $result= $num1+$num2;19                         break;20                     case '-':21                         $result= $num1-$num2;22                         break;23                     case '*':24                         $result= $num1*$num2;25                         break;26                     case '/':27                         if ($num2==0) {28                             throw new Exception("除数不能为0");29                         }30                         $result= $num1/$num2;31                         break;32                     return $result;33                 }34             }catch (Exception $e){35                 echo "您输入有误:".$e->getMessage();36             }37         }38     }39     $test=new Calc();40 //    echo $test->calculate(2,3,'+');//打印:541     echo $test->calculate(5,0,'/');//打印:您输入有误:除数不能为042 ?>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表