/*
//静态属性或静态方法不需要所在类被实例化就可以使用
//使用方法:类名::静态方法名(静态属性名)
//例子:static.php
*/
class Math
{
public static $PI=3.14; //定义静态属性
//public $PI=3.14; //静态方法不能调用非静态的属性
//定义一个静态方法,求两个数中的最大值
public static function getMax($num1,$num2){ //static 关键字
return $num1 > $num2 ? $num1 : $num2;
}
//定义一个静态方法,求圆面积
public static function getCircleArea($radius){
//return Math::$PI * $radius * $radius;//也行
return self::$PI * $radius * $radius;//建议
//用self::调用当前类中的静态属性
}
// 求三个数中的最大值,用self::调用当前类中其它静态方法
public static function getMax3($num1,$num2,$num3){
$num1 = self::getMax($num1,$num2);
$num2 = self::getMax($num2,$num3);
$num1 = self::getMax($num1,$num2);
//或$num1 = Math::getMax($num1,$num2);
return $num1;
}
}
//-----------------------------------------------------------
$a=1;
$b=2;
echo "最大值:";
echo Math::getMax($a,$b);//注意使用方法, 类名::静态方法名
echo "
";
//-----------------------------------------------------------
$r=2;
echo "半径为{$r}的圆的面积为".Math::getCircleArea($r);
echo "
";
//------------------------------------------------------------
$a=1;$b=2;$c=3;
echo "{$a},{$b},{$c}三个数中的最大值是" .Math::getMax3($a,$b,$c);
?>