<?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); ?>