background image

* @param string $operator 
* @return int|float 
*/

 

public

 

function

 calculate(

$num1

,

$num2

,

$operator

){ 

try

 { 

$result

=0; 

switch

 (

$operator

){ 

case

 '+': 

$result

$num1

+

$num2

break

case

 '-': 

$result

$num1

-

$num2

break

case

 '*': 

$result

$num1

*

$num2

break

case

 '/': 

if

 (

$num2

==0) { 

throw

 

new

 Exception("除数不能为 0"); 

$result

$num1

/

$num2

break

return

 

$result


}

catch

 (Exception 

$e

){ 

echo

 "您输入有误:".

$e

->getMessage(); 



$test

=

new

 Calc(); 

// echo $test->calculate(2,3,'+');//打印:5 

echo

 

$test

->calculate(5,0,'/');

//打印:您输入有误:除数不能为 0 

?> 
 
优点:以上代码使用了面向对象的封装特性,只要有了

include

这个类,其他页面就可以随

便使用了

 

缺点:无法灵活的扩展和维护

 

比如:想要增加一个

“求余”运算,需要在

switch

语句块中添加一个分支语句,代码需要做

如下改动

 

添加分支语句

 

代码如下

:

 
<?php 

class

 Calc{