Exemplo n.º 1
0
<?php

/*重载*/
header('Content-Type:text/html;charset=utf-8');
class Calc
{
    public function area()
    {
        $args = func_get_args();
        if (count($args) == 0) {
            echo '至少传一个参数';
        }
        if (count($args) == 1) {
            echo 3.14 * $args[0];
        }
    }
}
$c = new Calc();
$c->area(10);
/*
可以灵活的模拟像Java中的函数重载的效果
*/

class Calc{
	public function area(){
		//判断一个调用area时,得到的参数个数
		$args = func_get_args();
		if(count($args) == 1){
			return 3.14 * $args[0];
		}else if(count($args) == 2){
			return $args[0] * $args[1];
		}else{
			return '未知图形<br />';
		}

	}
}


//计算面积
$cal = new Calc();
echo $cal->area();
echo '<br/>';
echo $cal->area(8.88);
echo '<br/>';
echo $cal->area(77, 88);

?>