AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > PHP编程

深入理解static变量与方法

51自学网 2016-09-17 http://www.wanshiok.com
静态方法如何调用静态方法
 
第一个例子,一个静态方法调用其它静态方法时,直接使用 类名。
代码如下:
<?
// 实现最大值比较的Math类。
class Math{
 
    public static function Max($num1,$num2){
        return $num1 > $num2 ? $num1 : $num2;
    }
    public static function Max3($num1,$num2,$num3){
       $num1 = Math::Max($num1,$num2);
       $num2 = Math::Max($num2,$num3);
       $num1 = Math::Max($num1,$num2);       
       return $num1;
    }
}
$a = 99;
$b = 77;
$c = 88;
echo "显示 $a  $b $c  中的最大值是";
echo "<br>";
echo Math::Max3($a,$b,$c);
?> 
 
程序运行结果:
 
显示 99 77 88 中的最大值是
99
也可以使用self:: 调用当前类中的其它静态方法。(建议)
 
代码如下:
<?
// 实现最大值比较的Math类。
class Math{
 
    public static function Max($num1,$num2){
        return $num1 > $num2 ? $num1 : $num2;
    }
    public static function Max3($num1,$num2,$num3){
       $num1 = self::Max($num1,$num2);
       $num2 = self::Max($num2,$num3);
       $num1 = self::Max($num1,$num2);       
       return $num1;
    }
}
$a = 99;
$b = 77;
$c = 88;
echo "显示 $a  $b $c  中的最大值是";
echo "<br>";
echo Math::Max3($a,$b,$c);
?> 
 
程序运行结果:
显示 99 77 88 中的最大值是
99
静态方法调用静态属性
 
使用 类名::静态属性名 调用本类中的静态属性。
 
代码如下:
<?
//
class Circle{
    public static $pi = 3.14;
 
    public static function circleAcreage($r){
      return $r * $r * Circle::$pi;
    }
}
$r = 3;
echo " 半径 $r 的圆的面积是 " . Circle::circleAcreage($r);
?> 
 
程序运行结果:
半径 3 的圆的面积是 28.26


说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
 
上一篇:类的重写  下一篇:基于PHP5魔术常量与魔术方法的详解