[转]PHP面向对象之静态属性和静态方法

| |
| August 19, 2008 17:16 | root | Via 本站原创
转自:http://blog.chinaunix.net/u1/51625/showart_406076.html
<?php
/*
//静态属性或静态方法不需要所在类被实例化就可以使用
//使用方法:类名::静态方法名(静态属性名)
//例子: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 "<br>";
//-----------------------------------------------------------

$r=2;
echo "半径为{$r}的圆的面积为".Math::getCircleArea($r);
echo "<br>";
//------------------------------------------------------------

$a=1;$b=2;$c=3;
echo "{$a},{$b},{$c}三个数中的最大值是" .Math::getMax3($a,$b,$c);

?>
WEB相关 | 评论(0) | 引用(0) | 阅读(43)
发表评论
 网址
 电邮
  密码 游客无需密码
 昵称  *  [注册]
               

 
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我